• 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只有部分。

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

  • 相关阅读:
    Docker学习笔记
    Docker学习笔记
    Docker学习笔记
    Docker学习笔记
    Docker学习笔记
    第二类斯特灵数学习笔记
    浅谈"n个球"和"m个盒子"之间的乱伦关系
    cf932E. Team Work(第二类斯特灵数 组合数)
    [vijos]lxhgww的奇思妙想(长链剖分)
    BZOJ2054: 疯狂的馒头(并查集)
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4743038.html
Copyright © 2020-2023  润新知