VxWorks在AT91RM9200上的BSP设计

VxWorks在AT91RM9200上的BSP设计

ID:36495461

大小:636.00 KB

页数:8页

时间:2019-05-11

VxWorks在AT91RM9200上的BSP设计_第1页
VxWorks在AT91RM9200上的BSP设计_第2页
VxWorks在AT91RM9200上的BSP设计_第3页
VxWorks在AT91RM9200上的BSP设计_第4页
VxWorks在AT91RM9200上的BSP设计_第5页
资源描述:

《VxWorks在AT91RM9200上的BSP设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、VxWorks在AT91RM9200上的BSP设计摘要阐述VxWorks实时操作系统中板级支持包BSP的概念和作用;研究VxWorks映像的生成和分类,以及系统的启动流程;着重介绍VxWorks操作系统在ARM9芯片AT9lRM9200上的BSP设计。关键词VxWorksBSP映像ARMAT91RM9200   VxWorks是美国WindRiver公司开发的嵌入式实时操作系统,具有高性能、可裁减性好等特点,能支持多种微处理器(如PowerPC、X85、ARM、SPARC);自问世以来,以其良好的町靠性和卓越的实时性被广泛地应用于通信、航空、航天等高精尖技术及实时性要求极

2、高的领域中。BSP(BoardSupportPackage,板级支持包)的作用是针对特殊的硬件平台,为操作系统内核提供操作接口,使操作系统能够独立于底层硬件。对上层应用屏蔽具体硬件,VxWorks的高可移植性就是通过BSP实现的。AT91RM9200是Atmel公司生产的一款ARM9核芯片,本文重点介绍将VxWorks移植到该芯片过程中BSP的定制过程。1BSP概念   BSP通常是指针对具体的硬件平台,用户所编写的启动代码和部分设备驱动程序的集合。它所实现的功能包括初始化和驱动部分设备。最基本的BSP仅需要支持处理器复位、初始化、驱动串口和必要的时钟处理。BSP是相对于

3、操作系统而言的,不同的操作系统对应不同形式的BSP,因此,在写BSP时一定要按照要求的操作系统对BSP的定义形式来写。在VxWorks系统中,BSP是介于底层硬件环境和VxWorks之间的一个软件接口,它的主要功能是系统加电后初始化目标机硬件和VxWorks,并提供部分硬件驱动程序。BSP在VxWorks系统中的层次关系如图1所示。   BSP为各种板卡的硬件功能提供了统一的软件接口,包括硬件初始化、中断的捕捉和处理、硬件时钟和定时器管理、内存地址映射,以及内存分配等。每个BSP还包括一个ROM启动或其他启动机制。2VxWorks的引导过程   在编写BSP之前,首先要了

4、解整个系统的启动过程。VxWorks的映像由代码段、数据段和BSS段3部分组成。VxWotks内核可以分为3种:可加载类型映像、基于ROM的VxWorks映像和RoM驻留型映像。这3种类型的映像组织是不一样的,因此启动过程有所区别。   可加载映像包括VxWorks和BootROM两部分内容,两部分是独立创建的。首先,由系统引导代码把ROM引导程序搬到RAM_HIGH_ADRS。然后,ROM引导程序开始运行,将VxWorks映像加载到RAM_LOW_ADRS,之后跳转到VxWorks映像装入点。   基于ROM的VxWorks映像在BSP初始化时,会把lmage完全搬到R

5、AM中执行,包括代码段和数据段。在拷贝执行完毕后,系统控制权转移给RAM中VxWorks映像的初始化代码。   ROM驻留型映像只是将ROM中VxWorks映像的数据段和BSS段拷贝到RAM中,完成后系统控制权转移给ROM/Flash里VxWorks映像的初始化代码,代码段留在ROM中并在ROM中运行。在ROM中运行的VxWorks映像主要足为了节省RAM空间,带来的不利则是运行速度慢。   图2和图3分别是下载型和ROM型VxWorks映像的初始化流程。   下面以ROM型VxWorks内核启动流程为例,说明各文件的作用:   romlnit()保存启动类型,屏蔽中断;

6、初始化内存和寄存器,屏蔽Cache;初始化CPU,将堆栈指针定位于被拷贝BootROM映像在RAM的地址;跳到romStart()。   roraStart()根据不同的映像类型将VxWorks映像的不同部分解压缩<如果需要)并加载到RAM中。   usrInit()对VxWorks映像的BSS段清零;调用intVecBaseSet()设置中断矢量基地址表;调用excVecInit()初始化异常中断矢量;调用sysHwInit()初始化系统硬件;调用usrKernelInit()初始化wind内核;调用kernellnit()启动wind内核,启动usrRoot()任务。

7、   usrRoot()设置操作系统时钟,创建设备,安装驱动,调用sysHwInit2()安装系统时钟和辅助时钟中断以及串口等设备的中断,初始化I/O、文件系统、调用应用程序。3VxWorks在AT91RM9200上的BSP设计3.1AT91RM9200简介   AT91RM9200的片上资源包括:ARM920T处理器棱、16KB的内部SRAM和128KB的内部ROM存储器;支持SDRAM、SRAM、BurstFlash和CompactFlash、SmartMedia以及NANDFlash的无缝连接;16KB的数据Cache,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。