作为一款优秀的嵌入式实时多任务操作系统,vxWorks提供了很多种程序映像类型,在开发过程中十分容易让人感到困惑,而且相关的参考资料对这个问题的描述也不集中,因此,本文拟对VxWorks的几种映像作详细的分析。 VxWorks的映像主要包括两大类,一类是BootRom类型,一类是VxWorks类型。
其中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中进行的。

本文详细分析了VxWorks操作系统的BootRom和VxWorks两类映像,包括各自的类型、功能和装载过程。BootRom作为引导映像,负责启动和装载VxWorks映像,而VxWorks映像是系统主要运行的映像,分为VxWorks、VxWorks_rom、VxWorks_romResident和VxWorks_romCompress四种。不同类型的映像在装载过程中有不同的内存管理和初始化步骤,理解这些差异对嵌入式开发至关重要。
1772

被折叠的 条评论
为什么被折叠?



