- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
移植U-Boot15U-Boot分析与移植U-Boot的移植U-Boot的常用命令使用U-Boot来执行程序BootLoader简介
第15章移植U-Boot15.1Bootloader简介15.1.1Bootloader的概念1.Bootloader的引入Bootloader就是一小段程序,它在系统上电时首先被执行,主要功能是关闭WatchDog、配置系统时钟、初始化存储控制器、将更多的代码复制到内存中等。除了上述基本功能外,可以增强Bootloader的功能,比如增加网络功能、从PC上通过串口或网络下载文件、烧写文件、将Flash上压缩的文件解压后再运行等。这样就构成了一个功能更为强大的Bootloader。
2.Bootloader的启动方式Bootloader可以分为两种操作模式:启动加载(Bootloading)模式。上电后,Bootloader从板子上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。下载(Downloading)模式。在下载模式下,开发人员可以使用各种命令,通过串口连接或网络连接等通信手段从主机(Host)下载文件(比如内核映像、文件系统映像),将它们直接放在内存运行或是烧入Flash类固态存储设备中。第15章移植U-Boot
15.1.2Bootloader的结构和启动过程1.Bootloader结构简介嵌入式Linux系统的四个层次:(1)引导加载程序,包括固化在固件(firmware)中的boot代码(可选)和Bootloader两大部分。(2)?Linux内核中,为特定嵌入式板子定制的内核以及内核的启动参数。内核的启动参数可以是内核默认的,也可能是由Bootloader传递给它的。第15章移植U-Boot
(3)文件系统,包括根文件系统和建立在Flash内存设备之上的文件系统,里面包含了Linux系统能够运行所必需的应用程序、库等,比如可以给用户提供操作Linux的控制界面的shell程序、动态链接程序运行时需要的glibc或uClibc库等。(4)面向用户的应用程序,它们也存储在文件系统中。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式GUI有Qtopia和MiniGUI等。第15章移植U-Boot
图15.1嵌入式Linux系统的典型分区结构第15章移植U-Boot
2.Bootloader的两个阶段Bootloader的启动过程可以分为单阶段(SingleStage)、多阶段(Multi-Stage)两种。通常多阶段的Bootloader能提供更为复杂的功能以及更好的可移植性。从固态存储设备上启动的Bootloader大多都是两阶段的启动过程。第一阶段使用汇编语言程序来实现,它完成一些依赖于CPU体系结构的初始化,并调用第二阶段的代码;第二阶段则通常使用C语言程序来实现,这样可以实现更复杂的功能,而且代码会有更好的可读性和可移植性。第15章移植U-Boot
(1)?Bootloader第一阶段的功能:●硬件设备初始化。●为加载Bootloader的第二阶段代码准备RAM空间。●复制Bootloader的第二阶段代码到RAM空间中。●设置好栈。●跳转到第二阶段代码的C入口点。第15章移植U-Boot
(2)?Bootloader第二阶段的功能:●初始化本阶段要使用到的硬件设备。●检测系统内存映射(MemoryMap)。●将内核映像和根文件系统映像从Flash上读到RAM。●为内核设置启动参数。●调用内核。第15章移植U-Boot
调用内核之前,需满足的条件有:(1)?CPU寄存器的设置:●?R0?=?0。●R1?=?机器类型ID;对于ARM结构的CPU,其机器类型ID可以参见linux/arch/arm/tools/mach-types。比如,smdk4412的机器类型ID为3765。●?R2?=?启动参数标记列表在RAM中的起始基地址。第15章移植U-Boot
(2)?CPU工作模式:●必须禁止中断(IRQ和FIQ)。●?CPU必须为SVC模式。(3)?Cache和MMU的设置:●?MMU必须关闭。●指令Cache可以打开也可以关闭。●数据Cache必须关闭。第15章移植U-Boot
3.Bootloader与内核的交互Bootloader与内核的交互是单向的,Bootloader将各类参数传给内核。由于它们不能同时运行,传递办法只有一个:Bootloader将参数放在某个约定
您可能关注的文档
- 《KVM虚拟化技术基础与实践》课件1目录.pptx
- 2 《计算机组装与维护项目实训》课程教学进度计划表(14).doc
- 《ARM Cortex-A9多核嵌入式系统开发教程》课件第一章.pptx
- 《MCS-51单片机原理及嵌入式系统应用》课件第1章.ppt
- 《C语言程序设计基础》课件第1章.ppt
- 《ARM Cortex-A9多核嵌入式系统开发教程》课件第九章.pptx
- 《ARM Cortex-A9多核嵌入式系统开发教程》课件第三章.pptx
- 《C语言程序设计基础》课件第2章.ppt
- 《机械制图与计算机绘图》课件1第10章.ppt
- 《ARM Cortex-A9多核嵌入式系统开发教程》课件第二章.pptx
最近下载
- 专题专练 基本不等式(解析版)_1.docx
- 2025年浙江同济科技职业学院高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 上海市实验学校2024-2025学年高一上学期期末考试数学试题.docx VIP
- 上海市实验学校2023-2024学年高一上学期期中数学试题.docx VIP
- 公共场所卫生应急措施.docx VIP
- 人教版(2024)新教材一年级美术下册第一单元《第3课 大地的肌理》精品课件.pptx VIP
- 新人教版六年级语文上册期末试卷及答案(新版).pdf VIP
- 小学负数练习题30道附完整答案(名校卷).doc VIP
- Android车载操作系统开发指南.pdf VIP
- 合肥市国际先进技术应用推进中心招聘考试真题及答案2024.docx
文档评论(0)