一、系统框架
在讲初始化流程之前,我们先了解下VxWorks的三种映像类型。要搞清楚映像结构,需要先了解下VxWorks的内存空间分配。所以我们先从框架入手。
1. 框架图
2. 内存空间分配
二、内核映像
根据应用场合不同,vxworks映像可以分成三类:可加载的映像、基于ROM的映像和驻留ROM映像。
1. 可加载的映像
在RAM中运行,不包含搬移程序,需要借助一些外部程序如BootROM才能加载到RAM的低端RAM_LOW_ADRS地址处。
目标板上电后,由烧录在BootROM中的起始引导程序Bootstrap将ROM引导程序拷贝到RAM的高端地址RAM_HIGH_ADRS处,
并跳转至该地址执行ROM引导程序,将指定的主机目录下的可加载的vxworks映像下载到目标板的RAM地址RAM_LOW_ADRS
处,并跳转到此处执行。
2. 基于ROM的映像(包括压缩和未压缩)
将Image直接烧入ROM,执行时将Image拷入RAM中执行。
基于ROM的压缩的映像,主要是为了节约存储空间,在从ROM拷贝到RAM的过程中需要解压缩,因此与未压缩的映像相比,它
的引导过程相对较慢,但两者在RAM中的运行速度是一样的。
3. 驻留ROM的映像
目标板上电后,首先运行BootROM中的引导搬移程序,但仅将映像的数据段和BSS段拷贝到RAM地址RAM_LOW_ADRS处,映
像的代码段仍旧留在ROM中(与前两种映像的区别),从ROM中开始执行。
优点是具有最快的引导速度