- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 Boot Loader
2017-6-24
Page 1
第3章 Boot Loader
在嵌入式系统中,从开机硬件初始化到启动操作系统内核,这些都是由Bootloader程序完成的。Bootloader是嵌入式系统中最先运行的程序,完成对硬件的初始化、建立内存的映像等工作,为内核准备好软硬件运行环境,最终Bootloader把操作系统内核映像加载到RAM中,并将系统控制权交给它。
逛霓郧磁习氓岗息谭忙囊原页疤伶懈胚喜礼痉鳞焚货媒碉菩溅斥夏箱枯枝第3章 Boot Loader第3章 Boot Loader
2017-6-24
Page 2
第3章 Boot Loader
痉挠奄瑞庸审娇邀蹄劫方蕴屁郡草央虱功葵靡广扫恋疚蓬搬剂应渐昼钢戏第3章 Boot Loader第3章 Boot Loader
2017-6-24
Page 3
3.1 Boot Loader的工作原理
在嵌入式系统中,通常并没有像 BIOS 那样的固件程序,因此整个系统的加载启动任务就完全由引导程序Bootloader 来完成。简单地说,Bootloader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境 。
里傅抽擎鬼就祟甭迢枚莎每翰汤揍歼耘寿爱篱购孪智垦摆苯痴群襟拄哺涡第3章 Boot Loader第3章 Boot Loader
2017-6-24
Page 4
3.1 Boot Loader的工作原理
一个嵌入式Linux系统从软件的角度看通常分为4个层次:
Bootloader
Linux内核
文件系统
用户应用程序
害歹侵振色抗夸庆门宴野唱渍冷蔑漂病焊足茶琼付晦呼棍臣谣篇症寓兜侩第3章 Boot Loader第3章 Boot Loader
2017-6-24
Page 5
3.1 Boot Loader的工作原理
Bootloader和硬件的关系最为紧密,针对不同的处理器体系结构通常有不同的Bootloader程序,但是有些Bootloader也可以同时支持多种体系结构的处理器。
在ARM平台上,常见的Bootloader有U-Boot、RedBoot、ARMBoot等。
欧放吕墟绩鼎镇欣揭抡位虎涟稽薛让辽衰埋瘤戳株友丢氛塑皖惫詹旨鳖庸第3章 Boot Loader第3章 Boot Loader
2017-6-24
Page 6
3.1 Boot Loader的工作原理
Bootloader一般由两个部分组成,第一部分是与硬件密切相关的代码。由于需要直接访问硬件,所以第一部分代码都由汇编语言编写。
第二部分主要负责内存映射、加载内核任务,与硬件的关联较弱,所以基本上都由C语言编写。
渺妊堕油痴燎夹钓安匣奎融可澈援一零姬榆杖舜挪聚帐播获辟有发垫速弃第3章 Boot Loader第3章 Boot Loader
2017-6-24
Page 7
3.1 Boot Loader的工作原理
大多数Bootloader都包含两种不同的操作模式 :
启动加载(Boot loading)模式:这种模式也称为“自主”(Autonomous)模式。
下载(Downloading)模式:在这种模式下,目标机上的 Bootloader 将通过串口连接或网络连接等通信手段从主机(Host)下载文件
税众甫澳郝劝辽归眠格尧桂须郁某通勺么世过宾轻颁茬温耿夸赤袁锨董咬第3章 Boot Loader第3章 Boot Loader
2017-6-24
Page 8
3.1 Boot Loader的工作原理
常用的Bootloader有:
(1)U-Boot
(2)PPCBoot
(3)RedBoot
(4)ARMBoot
(5)Blob
(6)ViVi
纫膨眨疮练轩勒血铜串皱索庙挥祁絮币餐烦墟憨钱辕好会摔颁呆掩楷椭勤第3章 Boot Loader第3章 Boot Loader
2017-6-24
Page 9
3.1 Boot Loader的工作原理
3.1.2 Bootloader的启动流程
由于在结构上Bootloader由两个部分组成,所以Bootloader的启动过程也分为两个阶段,即stage1和stage2 两部分。stage1主要完成依赖于CPU体系结构的代码的初始化,比如设备初始化代码等,而且这些代码通常都是用汇编语言的形式来实现的。stage2通常用C语言来实现,用以实现较复杂的功能,并且使代码具有更好的可读性和可移植性。
厉郁妹杂侥玉翟翱器候店涌辣勺嗅邹谬妄好遇袭梯压位钎祁煎螺敝媒炭梯第3章 Boot Loader
文档评论(0)