VxWorks启动过程的详细解释(上)

vxworks有三个图像:

VxWorks Image有三种类型的文件

  1.  Loadable Images:由Boot-ROM引导通过网口或串口下载到RAM
  2.  ROM-based Images(压缩/没有压缩):即将Image直接烧入ROM,执行时将Image拷入RAM中执行。
  3. ROM-Resident Images:Image的指令部分驻留在ROM中执行。仅将数据段部分拷入RAM。

注意这里说的三种映像都是包括真正操作系统VxWorks的映像,当中后两种能够直接启动并执行起来。可是第一种不行,它必须借助还有一个叫做Boot Image的映像(能够在Tornado 中的build->build boot rom中生成)才干执行起来,也就是利用Boot Image引导起来然后通过网口或串口下载真正包括VxWorks的Loadable Image,然后才干执行起来。

也就是说Boot Image是和Loadable Image 结合使用的。

如今看来一共同拥有四种映像文件。让我们看看它们的组成吧:

  1. Boot Image:包括一段叫做BootStrap Programs的程序+一段ROM  BOOT Program程序。
  2. Loadable Images:有操作系统VxWorks和应用组成的映像。
  3. ROM-based Images(压缩/没有压缩):包括一段叫做BootStrap Programs的程序+ Loadable Images(即有操作系统VxWorks和应用组成的映像)
  4. 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处并開始执行。图三是一个简图,图四是更为详尽的流程图。

 

 

图三

 图四

  • ROM-Resident Images:

这样的映像的载入和上一种是基本同有点儿。只是加载只有data科和bss只有部分。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/gcczhongduan/p/4743038.html