VxWorks引导启动过程
更新时间:2023-09-14 07:53:01 阅读量: 初中教育 文档下载
VxWorks引导启动过程
一.引导过程
1.bootstrap/bootloader/bootrom
bootstrap是固化在CPU的ROM中的一小段指令系列,它是最初级的引导,旨在初始化CPU、时钟、堆栈,目标是让CPU正常运作起来。
引导加载程序(bootloader)是系统上电后运行的第一段软件代码。广义的bootloader可以认为是BootstrapProgram+Boot Image,不过一般就是指Boot Image。Boot Image的地位和作用可类比PC中位于BIOS固件程序(firmware)+硬盘MBR中的OS BootLoader(比如LILO和GRUB 等),它完成系统从上电后的硬件检测和资源分配,并将内核映象加载到RAM中,然后跳转到内核的入口点去运行启动操作系统。
bootrom通常是用来存储BootLoader的ROM/FLASH芯片,在VxWorks文档中的bootrom区是指Boot Image存放的位置。bootrom 完成VxWorks启动前的基本引导工作,如最简初始化硬件,下载映象文件并解压到RAM中等操作。 2.引导流程
CPU从没有电到上电状态,经过自复位的过程后,指令指针指向一个固定的地址。基于 CPU 构建的嵌入式系统通常都有某种类型的固态存储设备(比如:ROM、EEPROM或FLASH等)被映射到这个预先安排的地址上。因此,在系统上电后,CPU将首先执行这个地址所包含的指令,即Boot Loader程序。
无论如何,CPU开始执行一段指令了,这段指令的作用首先是将可执行程序所需的最小环境搭建起来。这个初始化过程包括初始化CPU、内存控制器及各种必需输入/输出设备、磁盘控制器等等。以X86体系结构来说,需要初始化CPU、北桥、南桥,常说的BIOS就是这样一段初始化程序。在那些没有BIOS的架构中,这一工作由系统的bootrom完成。 建立了最小可运行系统,操作系统的内核就可以运行了。于是,BIOS或bootrom程序将操作系统从能够永久保存内容的存储介质中读取出来加载到内存中。这些可永久保存内容的存储介质可能是NVROM、磁盘、光盘等,例如我们常说的操作系统光盘。
通常,操作系统在加载过程中还会对硬件环境做一次重新初始化,这一次初始化就不仅仅是最小运行环境了。包括CPU在内的全部计算机所包含的硬件都会被操作系统依次初始化,
同时初始化的还包括操作系统内核本身。这样,整个系统就处于一种可控状态,可以开始执行用户应用程序了。
从引导到系统启动是一个bottom-up的过程;启动后,用户交互到系统响应则是一个top-down的过程。 二.VxWorks映象 1.VxWorks映象的组成
VxWorks映象由文本段(.text/.code),数据段(.data)和BSS段(.bss)组成。文本段相当于代码段,是由一些指令组成的;数据段就是由一些初始化过的全局和静态变量组成;BSS段也是由全局变量和静态变量组成,只不过他们都没有经过初始化。 2.VxWorks映象的类型
VxWorks Image的文件类型有两类三种: A.加载型映象(VxWorks类型)
(1)Loadable Image是包含用户程序的VxWorks操作系统映象,其不具备引导功能,需要借助bootrom引导程序通过网口或串口下载到RAM中。bootrom在此扮演了“搬运工”的角色。
B.可引导型映象(BootRom类型)
可引导型(Bootable)映象包含含有用户程序的VxWorks操作系统映象,并包括完整的引导代码,可以在系统上电后自动完成自身的引导。
(2)ROM-basedImage(压缩/没有压缩):即将Image直接烧入ROM/flash,运行时将Image拷入RAM中运行。
(3)ROM-residentImage:Image的指令部分驻留在ROM中运行,仅将数据段部分拷入RAM。
注意这里说的三种映象都是包含真正操作系统VxWorks的映象,其中后两种可以直接启动并运行起来,但是第一种不行,它必须借助另一个叫做Boot Image的映象(可以在Tornado中的build->buildboot rom中生成)才能运行起来,也就是利用Boot Image引导起来然后
通过网口或串口下载真正包含VxWorks的LoadableImage,然后才能运行起来。也就是说Boot Image是和LoadableImage结合使用的。
现在看来一共有四种映象文件,让我们看看它们的组成:
(1)Boot Image:包含一段起始引导程序(BootStrapProgram)和一段ROM引导程序(ROM Boot Program)。
(2)LoadableImage:由操作系统VxWorks和应用组成的映象。
(3)ROM-basedImage(压缩/没有压缩):包含一段叫做BootStrapProgram的程序+LoadableImage(即有操作系统VxWorks和应用组成的映象)。 (4)ROM-ResidentImage:同上。
通过上面我们可以看出,ROM-based Image,ROM-ResidentImage,Boot Image三种映象都包含一段叫做BootStrapProgram的程序,可以把ROM引导程序的代码段和数据段拷贝到RAM中。同时,它具有启动功能。 三.VxWorks映象启动流程
下面让我们看看三种VxWorks的启动过程: 1.BootImage+Loadable Image
前面提到Loadable Image是依靠Boot Image加载启动的,首先由Boot Image中的BootStrapProgram程序把ROM引导程序(ROM Boot Program)加载到RAM中的RAM_HIGH_ADRS处,然后跳转到此处执行ROM引导程序,由ROM引导程序负责一系列简单的硬件初始化(网口,串口等),开始下载LoadableImage(即包含应用的VxWorks操作系统)到RAM_LOW_ADRS,然后跳转到此处启动VxWorks操作系统。 下面的图一是一个简单的流程图,后面的图二是更为详细的流程图。
图一
图二(1)
图二(2)
引导过程成功以后,RAM中ROM引导程序占用的空间(从RAM_HIGH_ADRS开始)可以重新被系统利用。
2.ROM-basedImage(压缩/没有压缩)
这种映象由起始引导程序(BootStrap Program)和基于ROM的VxWorks映象组成。因此,这种bootrom的体积较大。BootStrapProgram把基于ROM的VxWorks映象加载到内存的RAM_LOW_ADRS处,然后直接启动VxWorks操作系统(如果是压缩的,需要先解压缩)。图三是一个简图,图四是更为详尽的流程图。
正在阅读:
VxWorks引导启动过程09-14
党建公文写作提纲标题【30组】09-07
2016浙大远程教育管理统计学作业01-17
利用SWOT分析职业生涯规划07-21
锅炉原理复习思考题2010112904-01
金融机构在银行卡的反洗钱工作中存在的问题03-10
10《十六年前的回忆》导学案06-16
江苏省高院买卖合同纠纷案件审理指南10-22
送礼物大全08-14
安徽省仓储报关代理服务公司名录194家11-19
- 二甲基甲酰胺安全技术说明书
- 南邮计算机网络复习题
- 高分子物理实验指导书 - 图文
- 2009.9.25 莞惠环控专业施工图设计技术要求
- 学生工作简报
- 揭阳市斯瑞尔环境科技有限公司废酸综合利用项目可行性研究报告-广州中撰咨询
- 今日靓汤(佘自强)
- 奥数 - 二年级 - 数学 - 第三讲时间的教师版计算答案 - 图文
- 如何命制一份好的物理试卷
- 数据库开题报告
- 禁用未经批准或已经废止或淘汰技术的制度流程
- 大学英语(二)第2阶段测试题
- 湘教版一年级上册美术教案(全)
- (整套)学生顶岗(毕业)实习手册
- 高频 二极管包络检波 - 图文
- 2018届中考英语复习题型四任务型完形填空备考精编含解析 - 186
- 郑煤集团超化煤矿一采区开采设计 - 图文
- 财政学习题
- 摄影摄像复习资料
- SMC D-A93接线方式 - 图文
- 引导
- 过程
- VxWorks
- 启动
- CST221NE装置说明书 - 图文
- 海兴县2014年中小学田径运动会
- 美国旅游签证所需材料
- 广东海洋大学概率论与数理统计历年考试试卷(内含部分解释) - 图文
- 2006世界时尚小姐合作邀请及简介
- 第一幼儿园保育员岗位职责考核细则
- 2011高考英语备考方略
- 2013学年度第二学期四年级语文期中练习卷
- 中国建筑钢材行业发展现状与竞争战略研究报告(2015-2020)
- 禹州宣传策划方案
- 探讨房屋建筑渗漏原因及补漏措施
- 关于LSD限滑差速器 (图文讲解)
- 校企合作开班仪式讲话稿(模板)
- 第十届“探索之旅”交通科技文化节闭幕式暨交通学院2014年迎新年晚会主持词
- 苏教版五年级上册语文第一次月考试题
- 拔高专题7 - 分式方程及其应用(含答案)
- 80后把这46句话看懂再去生活
- 宁波太平鸟服装消费者消费行为调研报告(1)
- 班级日常工作量化考评细则
- 数学模型及其在信息学竞赛中的应用(2000国家集训队 郭一)