这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » VxWorks映像与引导过程

共3条 1/1 1 跳转至

VxWorks映像与引导过程

助工
2008-04-22 17:35:59     打赏
 按照映像的目的和是否包含用户VxWorks内核和组件代码,分为:BSP引导映像与VxWorks系统映像。

BSP引导映像

--- 由BSP引导代码所生成的映像,只有基本的wind多任务微内核,不包括大部分VxWorks组件,不包含应用代码。能引导目标系统,用于装入VxWorks系统映像。

BSP 引导映像用于装入可下载(Loadable)型的VxWorks系统映像。引导映像被烧入在ROM或者装入FLASH中,执行时总是从ROM/FLASH 开始,但是不同的引导映像差异体现在是否驻留ROM/FLASH,以及是否进行压缩。这些分类定义在rule.*中,分为如下3种:

 

bootrom 压缩的引导ROM映像
编译使用的BSP文件一般为rominit.s,bootInit.c,bootConfig.c,sysLib.c。搬移程序bootInit.c负责将压缩的文本段和数据段解压到RAM_HIGH_ADRS。

 

bootrom_uncmp 未压缩的引导ROM映像
编译使用的BSP文件一般为rominit.s,bootInit.c,bootConfig.c,sysLib.c。搬移程序bootInit.c负责将压缩的文本段和数据段解压到RAM_HIGH_ADRS。文本段和数据段均没有经过压缩。

 

bootrom_res 驻留ROM引导映像
驻留ROM运行,不进行压缩,搬移程序bootInit.c负责将数据段搬移到RAM_HIGH_ADRS。编译使用的BSP文件一般为rominit.s,bootInit.c,bootConfig.c,sysLib.c。

 

生成BSP引导映像时使用bootConfig.c,该文件的作用类似于VxWorks系统映像中的usrConfig.c,但是后者初始化了许多VxWorks组件。BSP引导映像的执行过程如下:

 

   汇编模块“romInit.s”和C模块“bootInit.c”被称为引导代码,它们总是从ROM开始执行。引导代码要求和地址无关(PIC),而被引 导部分无此要求。BSP的bootConfig.c只为了装入VxWorks系统映像,因此提供的功能只要包括取得引导参数,然后下载映像并执行。在 tBoot跳转到被装入映像的入口开始,引导映像的工作即告结束,系统映像开始其新的“初始化-----多任务内核运行”的过程。
  实际上,也正是使用了bootConfig.c而不是usrConfig.c使其成为BSP引导映像而不是VxWorks系统映像。

 

VxWorks系统映像

--- 包括wind多任务微内核,用户通过定制VxWorks组件和进行应用程序开发所生成的映像,该映像也可能包括BSP的引导代码。VxWorks系统映像 又可细分为:可下载(Loadable)型映像、基于ROM(ROM-Based)型映像、ROM驻留(ROM-Resident)型映像。

可下载(Loadable)型映像
在引导代码执行后,把可下载(Loadable)型映像加载到RAM中,然后跳转到VxWorks映像的入口点。

基于ROM(ROM-Based)型映像
系统加电后引导带代码执行,把VxWorks映像的代码段和数据段加载到RAM中,随后系统将控制权转移给RAM中的VxWorks映像的初始化代码。

ROM驻留(ROM-Resident)型映像
系统加电后引导带代码执行,只把VxWorks映像的数据段加载到RAM中,随后系统将控制权转移给ROM/FLASH中的VxWorks映像的初始化代码。








关键词: VxWorks     映像     引导     过程     代码     系统    

工程师
2008-04-22 17:49:25     打赏
2楼
坐沙发~~~~~~~~~~~

助工
2008-05-05 17:26:10     打赏
3楼

好复杂啊 !


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]