VxWorks启动过程详解(上) 分类: vxWorks 2014-07-05 14:12 506人阅读 评论(0) 收藏
2014-07-05 14:12
495 查看
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处并开始运行。图三是一个简图,图四是更为详尽的流程图。
图三
图四
ROM-Resident Images:
这种映像的加载和上一种是基本相同的,只不过是加载的只有data段和bss段而已。
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处并开始运行。图三是一个简图,图四是更为详尽的流程图。
图三
图四
ROM-Resident Images:
这种映像的加载和上一种是基本相同的,只不过是加载的只有data段和bss段而已。
相关文章推荐
- VxWorks启动过程详解(下) 分类: vxWorks 2014-07-05 14:11 476人阅读 评论(0) 收藏
- solaris启动过程详解 分类: arm-linux-Ubuntu 2014-06-19 08:22 313人阅读 评论(0) 收藏
- vxWorks/BootROM Imageq启动顺序详解 分类: vxWorks 2014-03-13 08:57 479人阅读 评论(0) 收藏
- ROM型启动方式概述 分类: vxWorks 2014-03-14 08:47 297人阅读 评论(0) 收藏
- U-Boot启动过程 分类: HI3531 arm-linux-Ubuntu 2013-12-18 09:36 587人阅读 评论(0) 收藏
- VxWorks启动流程 分类: vxWorks 2014-03-14 08:44 316人阅读 评论(0) 收藏
- GM8180启动过程调试 分类: arm-linux-Ubuntu 2013-07-22 16:31 276人阅读 评论(0) 收藏
- xWorks下的硬盘启动方法 分类: vxWorks 2014-02-28 14:48 859人阅读 评论(0) 收藏
- VxWorks 基本启动方式 分类: vxWorks 2014-03-14 08:46 269人阅读 评论(0) 收藏
- ucos在s3c2410上运行过程整体剖析-- 整体运行环境及工具说明 分类: μc /os ii 系统有关知识 2012-03-13 21:40 535人阅读 评论(0) 收藏
- vxWorks 命令 分类: vxWorks 2013-07-22 16:28 544人阅读 评论(0) 收藏
- 用java程序启动电脑中的软件 分类: java 2009-11-05 01:03 355人阅读 评论(0) 收藏
- ubuntu11.04启动 及虚拟文件系统 分类: arm-linux-Ubuntu 2013-07-22 16:28 369人阅读 评论(0) 收藏
- 嵌入式Linux引导过程之1.4——Xloader的ddr_init 分类: arm-linux-Ubuntu 2013-07-22 16:28 236人阅读 评论(0) 收藏
- ucos在s3c2410上运行过程整体剖析--创建任务到多任务调度及运行 分类: μc /os ii 系统有关知识 2012-03-13 21:38 1565人阅读 评论(1) 收藏
- 常用u-boot命令详解(全) 2 分类: arm-linux-Ubuntu 2013-07-22 16:28 309人阅读 评论(0) 收藏
- 嵌入式Linux引导过程之1.3——Xloader的sys_init 分类: arm-linux-Ubuntu 2013-07-22 16:28 288人阅读 评论(0) 收藏
- 安装Ulipad后,双击无法启动的解决方法 分类: python 2012-11-29 19:08 1994人阅读 评论(5) 收藏
- 启动服务,解决 the BASEDIRenvironmentvariable is not defined correctly 分类: ubuntu 2013-07-09 17:10 292人阅读 评论(0) 收藏
- 【ASP.NET开发】ADO.NET调用带输出参数的存储过程 分类: ASP.NET 2012-09-10 21:16 1261人阅读 评论(1) 收藏