网站大量收购闲置独家精品文档,联系QQ:2885784924

初学映像文件.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
初学映像文件

1 系统映像?    VxWorks的映像主要包括两大类,一类是BootRom类型,一类是VxWorks类型。?  ??? (1)BootRom类型?  ?????? BootRom类型映像是一个最小化、专用的VxWorks引导映像,实现最少的系统初始化,主要用于启动装载VxWorks映像,其功能类似于PC机的BIOS。BootRom运行时也建立起多任务环境,包括usrRoot任务、网络任务、TFFS任务和FTP任务等。引导映像在运行时,可能在ROM/Flash中执行(例如ROM驻留型引导映像),也可能在RAM 中执行。在系统中其对应的编译规则文件是rules.bsp。?   ???? BootRom类型分为三种:BootRom_res、BootRom_uncmp和BootRom。第一种是一直运行在rom 中的映象,只把data段拷贝到ram 里面;第二种是非压缩方式的映象,data段和text段都要拷贝到ram里面,并在ram里面运行;第三种是压缩方式的映象,生成的时候编译器会把除掉romlnit.s和bootInit.c之外的目标文件压缩并“汇编”成一个bootrom.Z.s,最后和romInit.o,bootInit.o,version.o进行链接,生成bootrom映像。所以它也是要全部拷贝到ram 中,并必须要进行解压缩的工作。而这些工作基本上都是在bootInit.c中进行的。?    (2)VxWorks类型?   ?? VxWorks类型映像是系统的主映像,也即是系统最终要运行的映像。该映像在运行时至少有一部分(如:数据段和BSS段)需要在RAM中运行。在系统中其对应的编译规则文件是rules.vxWorks。???????? VxWorks类型映像分为四种:VxWorks、VxWorks_rom、VxWorks_romResident和VxWorks_romCompress。如表1。   文件名 说明 VxWorks RAM运行的VxWorks映像 VxWorks_rom ROM 自动RAM 运行的VxWorks映像,不需要BootRom辅助 VxWorks_romCompress VxWorks_rom 的压缩形式 VxWorks_romResiden ROM启动ROM运行的VxWorks映像,不需要BootRom辅助 ?????? (3)BootRom 类型映像和VxWorks类型映像的联系与区别?   对于没有自启动功能的VxWorks类型映像(例如:VxWorks型),在映像运行前就需要一段程序将该映像拷贝到RAM 中运行,而BootRom类型映像在此时就扮演了这种“搬运工”的角色,当VxWorks系统下载完毕,BootRom的任务也就完成了。二者在系统初始化的时候,所做的功能基本相同,但是区别在于BootRom 类型映像调用bootConfig.c,而VxWorks类型映像调用usrConfig.c。 2 映像装载过程?   (1)VxWorks_romCompress和VxWorks_rom(如图1)?      将不包含VxWorks二进制映像的引导程序data段复制到RAM 中的RAM_HIGH_ADRS。?   ?????? 冷启动后,将从LOCAL_MEM_LOCAL_ADRS+RESER-VED的内存地址到RAM_HIGH_ADRS-STACK_SAVE的内存地址清零。将从引导程序bss段末端到LOCAL_MEM_LOCAL_ADRS+LOCAL_MEM_SIZE-USER_RESERVED_MEM的内存也清零。??????? 拷贝VxWorks时,VxWorks_rom 类型映像直接拷贝到以RAM_LOW_ADRS为开始的RAM 中,而VxWorks_rom-Compress类型的映像将压缩的VxWorks解压到以RAM_LOW_ADRS为开始的RAM 中。?   ?????? 跳到位于RAM_LOW_ADRS地址的解压的VxWorks的入口点,引导代码和堆栈空间将被覆盖。?   ?????? (2)VxWorks_romResident(如图2)  ? 该映像包含引导代码,在重启时清空RAM,引导代码只将data段拷贝到RAM 中的RAM_LOW_ADRS处。而系统的运行是在ROM 中进行的。?   ????? 相对其他映像,这种映像启动速度快,需要的RAM 空间少,但是运行速度慢。?   ?????? (3)VxWorks   该映像本身不包含引导程序,需要一个独立的引导程序从本地存储器或者经由网络获取该映像,然后将其下载到RAM中的RAM_LOW_LADRS处运行。这个独立的引导程序就是上文提到的BootRom 类型映像,它可以分为BootRom_res、

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档