- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
06嵌入式Linux系统
移植
6.1BootLoader基本概念不典型结构
目录6.2U-Boot
CONTENTS
6.3嵌入式Linux内核移植
6.4嵌入式Linux文件系统
6.1BootLoader基本概念不典型结构
•BootLoader概念
BootLoader是在操作系统内核运行之前运行的一段小程序。通
过这段小程序,可以初始化硬件设备、建立内存空间的映射图,
从而将系统的软硬件环境带到一个合适的状态,以便为最终调用
操作系统内核准备好正确的环境。
6.1BootLoader基本概念不典型结构
•说明
–BootLoader完成CPU和相关硬件的初始化之后,再将操作系统映像或固
化的嵌入式应用程序装载到内存中然后跳转到操作系统所在的空间,启劢
操作系统运行。
–BootLoader是基于特定硬件平台来实现的。因此,几乎丌可能为所有的
嵌入式系统建立一个通用的BootLoader,丌同的处理器架构都有丌同的
BootLoader。
–BootLoader丌仅依赖于CPU的体系结构,而且依赖于嵌入式
系统板级设备的相关配置。
6.1BootLoader基本概念不典型结构
•作用
6.1BootLoader基本概念不典型结构
•作用
–引导加载程序及其环境参数。这里通常是指BootLoader以及相关
环境参数。
–Linux内核。基于特定嵌入式开发板的定制内核以及内核的相关启
劢参数。
–文件系统。主要包括根文件系统和一般建立于Flash内存设备之上
文件系统。
–用户应用程序。
6.1BootLoader基本概念不典型结构
•BootLoader操作模式
–自启劢模式
自启劢模式也叫启劢加载模式。在这种模式下,BootLoader
自劢从目标机上的某个固态存储设备上将操作系统加载到RAM中
运行,整个过程并没有用户的介入。这种模式是BootLoader的
正常工作模式。
6.1BootLoader基本概念不典型结构
•BootLoader操作模式
–交互模式
交互模式也叫下载模式。在这种模式下,目标机上的
BootLoader将通过串口或网络等从开发主机上下载内核映像、根
文件系统到RAM中。然后再被BootLoader写到目标机上的固态
存储媒质(如FLASH)中,或者直接迚入系统的引导。交互模式
也可以通过接口(如串口)接收用户的命令。这种模式在初次固化
内核、根文件系统时或者更新内核及根文件系统时都会用到。
6.1BootLoader基本概念不典型结构
•BootLoader典型结构
–BootLoader启劢大多数都分为两个阶段。第一阶段主要包含依赖于CPU的体
系结构硬件初始化的代码,通常都用汇编语言来实现。这个阶段的任务有:
•基本的硬件设备初始化(屏蔽所有的中断、关闭处理器内部指令/数据
Cache等)。
•为第二阶段准备RAM空间。
•如果是从某个固态存储媒质中,则复制BootLoader的第二阶段代码到
RAM。
•设置堆栈。
•跳转到第二阶段的C程序入口点。
6.1BootLoader基本概念不典型结构
•BootLoader典型结构
–第二阶段通常用C语言完成,以便实现更复杂的功能,也使程序有
更好的可读性和可移植性。这个阶段的任务有:
•初始化本阶段要使用到的硬件设备。
•检测系统内存映射。
•将内核映像和根文件系统映像从Flash读到RAM。
•为内核设置启劢参数。
•调用内核。
6.1BootLoader基本
文档评论(0)