博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VxWorks启动过程详解(上) 分类: vxWorks ...
阅读量:4628 次
发布时间:2019-06-09

本文共 1450 字,大约阅读时间需要 4 分钟。

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/mao0504/p/4706541.html

你可能感兴趣的文章
CentOS 6.4下编译安装MySQL 5.6.14
查看>>
PHP拿到别人项目如何修改为自己
查看>>
Flink学习笔记:Operators之CoGroup及Join操作
查看>>
SQL Server DB Link相关
查看>>
2017 .NET 開發者須知
查看>>
判断ie版本
查看>>
document.readystate
查看>>
数据库访问性能优化
查看>>
面向对象(类的概念,属性,方法,属性的声明,面向对象编程思维
查看>>
word 生成HTML
查看>>
JSONP--解决ajax跨域问题
查看>>
iOS 的本地化使用和创建过程
查看>>
继承上机作业
查看>>
TSP问题——动态规划
查看>>
java多线程三之线程协作与通信实例
查看>>
japid-controller自动绑定的数据类型
查看>>
vm.max_map_count
查看>>
OSI模型第四层传输层--TCP协议
查看>>
web service 项目 和 普通 web项目 的 区别
查看>>
Linux结构目录
查看>>