VxWorks 操作系统的映像及其装载过程解析(图)
[ 来源:'d' | 类别:技术 | 时间:2009-8-5 11:13:35 ] [字体:大 中 小]
VxWorks 是一款优秀的嵌入式实时多任务操作系统,以良好的持续发展能力、高性能的
内核以及友好的用户开发环境。
在嵌入式实时操作系统领域占据了重要的一席之地,受到越来越多的用户的青睐。但
是作为初学者而言,VxWorks 提供了众多的程序映像类型,在开发过程中十分容易让人感
到困惑,而且相关的参考资料对这个问题的描述也不集中,因此,本文拟对 VxWorks 的几
种映像作详细的分析。
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 中运行。在系统中其对应的编译规则文件
评论0