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操作系统開始运行。
以下的图一是一个简单的流程图,后面的图二是更为具体的流程图。
图一
图二(1)
图二(2)
- ROM-based Images(压缩/没有压缩):
这样的映像由于其本身就包括BootStrap Programs程序,因此能够直接启动。所以这样的映像中也就不须要Boot Programme了,首先BootStrap Programs启动,把映像中的VxWorks载入到内存的RAM_LOW_ADRS处并開始执行。图三是一个简图,图四是更为详尽的流程图。
图三
图四
这样的映像的载入和上一种是基本同有点儿。只是加载只有data科和bss只有部分。
版权声明:本文博客原创文章,博客,未经同意,不得转载。