新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > VxWorks移植到AT91RM9200的BSP定制过程

VxWorks移植到AT91RM9200的BSP定制过程

作者:时间:2010-12-14来源:网络收藏

是嵌入式实时操作系统,具有高性能、可裁减性好等特点,能支持多种微处理器(如PowerPC、X85、ARM、SPARC);自问世以来,以其良好的町靠性和卓越的实时性被广泛地应用于通信、航空、航天等高精尖技术及实时性要求极高的领域中。(Board Support Package,板级支持包)的作用是针对特殊的硬件平台,为操作系统内核提供操作接口,使操作系统能够独立于底层硬件。对上层应用屏蔽具体硬件,的高可性就是通过实现的。是Atmel公司生产的一款ARM9核芯片,本文重点介绍将到该芯片

1 BSP概念

BSP通常是指针对具体的硬件平台,用户所编写的启动代码和部分设备驱动程序的集合。它所实现的功能包括初始化和驱动部分设备。最基本的BSP仅需要支持处理器复位、初始化、驱动串口和必要的时钟处理。BSP是相对于操作系统而言的,不同的操作系统对应不同形式的BSP,因此,在写BSP时一定要按照要求的操作系统对BSP的定义形式来写。在VxWorks系统中,BSP是介于底层硬件环境和VxWorks之间的一个软件接口,它的主要功能是系统加电后初始化目标机硬件和VxWorks,并提供部分硬件驱动程序。BSP在VxWorks系统中的层次关系如图1所示。

BSP为各种板卡的硬件功能提供了统一的软件接口,包括硬件初始化、中断的捕捉和处理、硬件时钟和定时器管理、内存地址映射,以及内存分配等。每个BSP还包括一个ROM启动或其他启动机制。

2 VxWorks的引导

在编写BSP之前,首先要了解整个系统的启动过程。VxWorks的映像由代码段、数据段和BSS段3部分组成。VxWotks内核可以分为3种:可加载类型映像、基于ROM的VxWorks映像和RoM驻留型映像。这3种类型的映像组织是不一样的,因此启动过程有所区别。

可加载映像包括VxWorks和Boot ROM两部分内容,两部分是独立创建的。首先,由系统引导代码把ROM引导程序搬到RAM_HIGH_ADRS。然后,ROM引导程序开始运行,将VxWorks映像加载到RAM_LOW_ADRS,之后跳转到VxWorks映像装入点。

基于ROM的VxWorks映像在BSP初始化时,会把lmage完全搬到RAM中执行,包括代码段和数据段。在拷贝执行完毕后,系统控制权转移给RAM中VxWorks映像的初始化代码。

ROM驻留型映像只是将ROM中VxWorks映像的数据段和BSS段拷贝到RAM中,完成后系统控制权转移给ROM/Flash里VxWorks映像的初始化代码,代码段留在ROM中并在ROM中运行。在ROM中运行的VxWorks映像主要足为了节省RAM空间,带来的不利则是运行速度慢。

图2和图3分别是下载型和ROM型VxWorks映像的初始化流程。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭