- 1、本文档共38页,可阅读全部内容。
- 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–Boot的编译和使用
第5章 U-Boot的编译和使用 本章目标 理解什么是Bootloader,它的作用是什么; U-Boot的结构; 掌握如何编译U-Boot; 掌握使用U-Boot的命令、工具。 本章结构 5.1、初识BootLoader 5.1.1、初识BootLoader 5.1.2、Bootloader的种类 5.1.3、 Bootloader的启动 5.1.1、初识BootLoader 嵌入式linux系统从软件的角度看通常可以分为4个层次: 1、引导加载程序。 2、Linux 内核。 3、文件系统。 4、用户应用程序。 5.1.2 、Bootloader的种类(1) 5.1.2、Bootloader的种类(2) (1)X86 X86 的工作站和服务器上一般使用LILO 和GRUB。 (2)ARM ARM 处理器的芯片商很多,所以每种芯片的开发板都有自己的Bootloader。 常用VIVI、U-BOOT。 (3)PowerPC PowerPC 平台的处理器有标准的Bootloader,就是ppcboot。PPCBOOT 在合并armboot等之后,创建了U-Boot,成为各种体系结构开发板的通用引导程序。 (4)MIPS MIPS公司开发的YAMON 是标准的Bootloader,也有许多MIPS芯片商为自己的开发板写了Bootloader。现在,U-Boot 也已经支持MIPS平台。 (5)SH SH 平台的标准Bootloader 是sh-boot。Redboot在这种平台上也很好用。 (6)M68K M68K 平台没有标准的Bootloader。Redboot能够支持m68k系列的系统。 5.1.3、Bootloader的启动(1) 大多数 Boot Loader 都包含两种不同的操作模式: 1、“启动加载”模式 2、“下载”模式 这种区别仅对于开发人员才有意义。但从最终用户的角度看,Boot Loader 的作用就是用来加载操作系统,而并不存在所谓的启动加载模式与 下载工作模式的区别。下面介绍各种启动模式。 5.1.3、Bootloader的启动(2) 1.网络启动方式 这种方式的开发板不需要配置较大的存储介质,跟无盘工作站有点类似。但是使用这种启动方式之前,需要把Bootloader 安装到板上的EPROM 或者Flash中。Bootloader 通过以太网接口远程下载Linux 内核映像或者文件系统。这种方式对于嵌入式系统开发来说非常重要。 5.1.3、Bootloader的启动(3) 2.磁盘启动方式 传统的Linux 系统运行在台式机或者服务器上,这些计算机一般都使用BIOS 引导,并且使用磁盘作为存储介质。如果进入BIOS设置菜单,可以探测处理器、内存、硬盘等设备,可以设置BIOS从软盘、光盘或者某块硬盘启动。也就是说,BIOS并不直接引导操作系统。 5.1.3、Bootloader的启动(4) 3.Flash启动方式 大多数嵌入式系统上都使用Flash存储介质。Flash有很多类型,包括NOR Flash、NANDFlash和其他半导体盘。Bootloader 一般是存储在Flash芯片上的。另外,Linux内核映像和RAMDISK 也可以存储在Flash上。通常需要把Flash分区使用,每个区的大小应该是Flash擦除块大小的整数倍。 5.1.3、Bootloader的启动(5) Boot Loader的启动流程: Boot Loader 的 stage1 通常包括以下步骤(以执行的先后顺序): 硬件设备初始化。 为加载 Boot Loader 的 stage2 准备 RAM 空间。 拷贝 Boot Loader 的 stage2 到 RAM 空间中。 设置好堆栈。 跳转到 stage2 的 C 入口点。 5.1.3、Bootloader的启动(6) Boot Loader 的 stage2 通常包括以下步骤(以执行的先后 顺序): 初始化本阶段要使用到的硬件设备。 检测系统内存映射(memory map)。 将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中。 为内核设置启动参数。 调用内核。 5.1.3、Bootloader的启动(7) 5.2、U-Boot简介 U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项 目,从FADSROM、8xxROM、PPCBOOT逐步发展演化而来,其源码目录、编译 形式与Linux内核很相似。事实上,不少U-Boot源码就是相应Linux内核源 程序的简化,尤其是一些设备的驱动程序,从UBoot源码的注释中能体现这 一点
文档评论(0)