VxWorks 启动过程详解
vxworks 有三种映像:
VxWorks Image 的文件类型有三种
- Loadable Images:由 Boot-ROM 引导通过网口或串口下载到 RAM
- ROM-based Images(压缩/没有压缩):即将 Image 直接烧入 ROM,运行时将 Image 拷
入 RAM 中运行。
-ROM-Resident Images:Image 的指令部分驻留在 ROM 中运行,仅将数据段部分拷入
RAM。
注 意这里说的三种映像都是包含真正操作系统 VxWorks 的映像,其中后两种可以直接启动
并运行起来,但是第一种不行,它必须借助另一个叫做 Boot Image 的映像(可以在
Tornado 中的 build->build boot rom 中生成)才能运行起来,也就是利用 Boot Image 引导起
来然后通过网口或串口下载真正包含 VxWorks 的 Loadable Image,然后才能运行起来。也就
是说 Boot Image 是和 Loadable Image 结合使用的。
现在看来一共有四种映像文件,让我们看看它们的组成吧:
-Boot Image:包含一段叫做 BootStrap Programs 的程序+一段 ROM BOOT Program 程序。
-Loadable Images:有操作系统 VxWorks 和应用组成的映像。
- ROM-based Images (压 缩 / 没 有 压 缩) : 包 含一 段 叫 做 BootStrap Programs 的 程序 +
Loadable Images(即有操作系统 VxWorks 和应用组成的映像)
-ROM-Resident Images:同上
通过上面我们可以看出,ROM-based Images,ROM-Resident Images,Boot Image
三种映像都包含一段叫做 BootStrap Programs 的程序,它具有启动功能,可以把 ROM 中的
代码段和数据段拷贝到 RAM 中;下面让我们看看三种 VxWorks 的启动过程:
èBoot Image + Loadable Images:
我 们说过 Loadable Images 是依靠 Boot Image 加载启动的,首先有 Boot Image 中的程序
BootStrap Programs 把 Boot Program 程序加载到 RAM 中的 RAM_HIGH_ADRS 处,然后控
制权交给 Boot Program,由 Boot Program 负责一系列简单的硬件初始化(网口,串口等)
开始下载 Loadable Images(即包含应用的 VxWorks 操作系统)到 RAM_LOW_ADRS,然
后控制权交给 VxWorks 操作系统开始执行。