嵌入式实时操作系统VxWorks下BSP分析及VxWorks裁减.pdf
《嵌入式实时操作系统VxWorks下BSP分析及VxWorks裁减.pdf》由会员分享,可在线阅读,更多相关《嵌入式实时操作系统VxWorks下BSP分析及VxWorks裁减.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第15卷 第2期2005年6月天 津 工 程 师 范 学 院 学 报JOURNAL OF TIANJIN UNIVERSITY OF TECHNOLOGY AND EDUCATI ONVol.15No.2Jun.2005嵌入式实时操作系统Vx Works下BSP分析及Vx Works裁减3褚 哲,孟小锁(西安微电子技术研究所,陕西 西安710075)摘 要:以Vx Works操作系统为例,阐述了BSP的概念、原理和系统启动流程,并在此基础上以某目标机为原型,着重叙述了Vx Works的裁减方法。关键词:Vx Works;板级支持包;映像中图分类号:TP316.2 文献标识码:A 文章编号:16
2、7321018(2005)0220027204BSP analysis under embedded real2ti me operatingsystem VxW orks and VxW orksta ilorCHU Zhe,MENG Xiao2suo(XianMicroelectronics Technology Institute,Xian 710054,China)Abstract:This article takes the Vx Works operating system as an example to illustrate the concept,the princirlea
3、nd the start2up procedure of BSP.Under this foundation it uses certain target machine as original form to ex2plain the tailormethod of Vx Works.Key words:Vx Works;board suppot package;imageVx Works操作系统是美国W indRiver公司推出的一种嵌入式强实时操作系统,自20世纪80年代问世以来,以其不断推出的升级版本、高性能内核以及友好的用户开发环境,在嵌入式实时操作系统领域逐渐占据一席之地,尤其以成
4、功应用于火星探测车和爱国者导弹等高科技产品而声名鹊起,拥有较多的用户。BSP(board suppot package)为板级支持包的缩写。因为Vx Works标准的BSP是针对PC的,对于PC机用户,主要按照标准配置,不需要做太大的改动就可以建立主机与目标机的调试环境。而对于使用非标准(不是PC机)加固机的用户,则需要对BSP进行修改以满足特定目标机的要求,对Vx Works的裁减就是通过对BSP的修改来完成的。要进行以上的工作,就需要了解Vx Works的启动过程及BSP的概念和工作原理,本文在阐述了BSP概念和工作原理的基础上,以某目标机为原型,详细叙述Vx Works的裁减方法。1BS
5、P的概念及原理BSP介于主板硬件和操作系统之间,属于操作系统的一部分,目的是支持操作系统,使之能够更好地运行于硬件主板。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如Vx2Works的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一定要按照该系统BSP的定义形式来写(BSP的编写过程大多数是在某一个成型的BSP模板上进行修改),这样才能与上层OS保持正确的接口,良好地支持上层OS。BSP在Vx Works中的地位如图1所示。BSP文 件 在Vx Works/target/config/all和Vx2W
6、orks/target/config/bapname文件夹里。其中,all文3 收稿日期:2004-12-08.作者简介:褚 哲(1975),男,硕士研究生,研究方向为嵌入式软件.1995-2005 Tsinghua Tongfang Optical Disc Co.,Ltd.All rights reserved.件夹里的文件是所有BSP的通用文件,bspname文件夹的文件是用户自己定制的BSP文件。经过编译、链接,并在makefile和bspname等文件的控制下,原程序最后将生成Vx Works映像。Vx Works的映像分为可下载映像和可引导映像。图1VxW orks与BSP的层次关
7、系 可下载映像(loadable image)包括两部分:一是Vx Works;二是bootRom。两部分是独立创建的。其中bootRom包括压缩的bootRom映 像、非压缩 的bootRom映像和驻留ROM的bootRom映像3种类型。可引导映像(bootable image)是将引导程序和Vx2Works融为一体的映像,它常常是最终产品,包括不驻留ROM的映像和驻留ROM的映像2种类型。BSP是所有与硬件相关的代码体的集合,主要包括:(1)在一个系统被引导时,目标系统硬件初始化程序;(2)目标系统上设备的驱动程序,这些设备包括定时器、以太网控制器、一组串行口和SCSI控制器等,控制这些设
8、备的函数成为设备驱动程序。Vx Works系统的BSP功能模块关系如图2所示。图2BSP各功能模块关系2VxW orks启动过程 考虑到Vx Works映像分为可下载映像和可引导映像,不同的映像启动顺序略有不同,但大体的顺序是相同的。因此,此处以固化在ROM中的可引导映像(Vx Works_ROM)来讲解Vx Works的启动过程,如图3所示。图3 固化在ROM中的VxW orks引导顺序(1)机器加电以后,处理器“跳”到ROM或Flash中,用汇编语言编写的初始化程序rominit(),它在文件rominit.s中,主要完成:禁止中断;保存启动类型(冷/热启动);硬件相关的初始化;转到函数r
9、omstart()。(2)romstart(),它在文件bootinit.c中,从ROM中将数据段拷贝到RAM,将内存清0;从ROM中将代码段拷贝到RAM;根据启动类型调用函数usrInit()。(3)usrInit(),它在文件usrConfig.c中,将BSS未初始化的段清0;将引导类型保存到sysStartType;调用异常向量初始化函数excVecInit(),初始化所有系统和默认的中断向量;调用系统的硬件设备初始化函数sysHwInit();调用内核库初始化函数usrKernelInit();调用内核初始化函数kernelInit()。(4)usrKernelInit(),它在文件u
10、srKernel.c中,主要完成库的初始化工作。class LibInit();taskLibInit();taskHookLibInit();semBLibInit();semMLibInit();semCLibInit();wdLibInit();82天 津 工 程 师 范 学 院 学 报 2005年6月 1995-2005 Tsinghua Tongfang Optical Disc Co.,Ltd.All rights reserved.qInit();workQ Init()。(5)kernelInit(),初始化多任务环境并启动内核,它在文件kernelLib.c中。(6)usrR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 实时 操作系统 VxWorks BSP 分析 裁减
限制150内