VxWorks系统的映像及其装载过程解析

VxWorks系统的映像及其装载过程解析

ID:37914354

大小:129.50 KB

页数:4页

时间:2019-06-02

VxWorks系统的映像及其装载过程解析_第1页
VxWorks系统的映像及其装载过程解析_第2页
VxWorks系统的映像及其装载过程解析_第3页
VxWorks系统的映像及其装载过程解析_第4页
资源描述:

《VxWorks系统的映像及其装载过程解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VxWorks系统的映像及其装载过程解析VxWorks是一款优秀的嵌入式实时多任务操作系统,以良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据了重要的一席之地,受到越来越多的用户的青睐。但是作为初学者而言,VxWorks提供了众多的程序映像类型,在开发过程中十分容易让人感到困惑,而且相关的参考资料对这个问题的描述也不集中,因此,本文拟对VxWorks的几种映像作详细的分析。1系统映像   VxWorks的映像主要包括两大类,一类是BootRom类型,一类是VxWorks类型。(1)BootRom类型   BootRom类型映像是一个最

2、小化、专用的VxWorks引导映像,实现最少的系统初始化,主要用于启动装载VxWorks映像,其功能类似于PC机的BIOS。BootRom运行时也建立起多任务环境,包括usrRoot任务、网络任务、TFFS任务和FTP任务等。引导映像在运行时,可能在ROM/Flash中执行(例如ROM驻留型引导映像),也可能在RAM中执行。在系统中其对应的编译规则文件是rules.bsp。   BootRom类型分为三种:BootRom_res、BootRom_uncmp和BootRom。第一种是一直运行在rom中的映象,只把data段拷贝到ram里面;第二种是非压缩方式的映象,dat

3、a段和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中运

4、行。在系统中其对应的编译规则文件是rules.vxWorks。   VxWorks类型映像分为四种:VxWorks、VxWorks_rom、VxWorks_romResident和VxWorks_romCompress。如表1。表1VxWorks类型映像文件名说明VxWorksRAM运行的VxWorks映像VxWorks_romROM自动RAM运行的VxWorks映像,不需要BootRom辅助VxWorks_romCompressVxWorks_rom的压缩形式VxWorks_romResidenROM启动ROM运行的VxWorks映像,不需要BootRom辅助(3)B

5、ootRom类型映像和VxWorks类型映像的联系与区别   对于没有自启动功能的VxWorks类型映像(例如:VxWorks型),在映像运行前就需要一段程序将该映像拷贝到RAM中运行,而BootRom类型映像在此时就扮演了这种“搬运工”的角色,当VxWorks系统下载完毕,BootRom的任务也就完成了。二者在系统初始化的时候,所做的功能基本相同,但是区别在于BootRom类型映像调用bootConfig.c,而VxWorks类型映像调用usrConfig.c。2映像装载过程(1)VxWorks_romCompress和VxWorks_rom(如图1) 1.将不包含V

6、xWorks二进制映像的引导程序data段复制到RAM中的RAM_HIGH_ADRS。2.冷启动后,将从LOCAL_MEM_LOCAL_ADRS+RESER-VED的内存地址到RAM_HIGH_ADRS-STACK_SAVE的内存地址清零。将从引导程序bss段末端到LOCAL_MEM_LOCAL_ADRS+LOCAL_MEM_SIZE-USER_RESERVED_MEM的内存也清零。3.拷贝VxWorks时,VxWorks_rom类型映像直接拷贝到以RAM_LOW_ADRS为开始的RAM中,而VxWorks_rom-Compress类型的映像将压缩的VxWorks解压到

7、以RAM_LOW_ADRS为开始的RAM中。4.跳到位于RAM_LOW_ADRS地址的解压的VxWorks的入口点,引导代码和堆栈空间将被覆盖。(2)VxWorks_romResident(如图2) 1.该映像包含引导代码,在重启时清空RAM,引导代码只将data段拷贝到RAM中的RAM_LOW_ADRS处。而系统的运行是在ROM中进行的。2.相对其他映像,这种映像启动速度快,需要的RAM空间少,但是运行速度慢。(3)VxWorks1.该映像本身不包含引导程序,需要一个独立的引导程序从本地存储器或者经由网络获取该映像,然后将其下载到RAM

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

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

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