Bootloader与内核移植教案分析.ppt

  1. 1、本文档共161页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Linux的嵌入式软件开发 主讲教师:刘展威 课程信箱:embeddedos@126.com 课程平台: 2.4 嵌入式系统引导代码 2.4.1 Bootloader简介 2.4.2 常用的bootloader 2.4.3 Bootloader基本原理 2.4.4 Bootloader移植实例一:U_Boot 2.4.5 Bootloader移植实例二:vivi 2.4.1 Bootloader简介 1.Bootloader的作用 2.bootloader操作模式 1.Bootloader的作用 Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 2.bootloader操作模式 大多数 Boot Loader 都包含两种不同的操作模式:“启动加载”模式和“下载”模式,这种区别仅对于开发人员才有意义。但从最终用户的角度看,Boot Loader 的作用就是用来加载操作系统,而并不存在所谓的启动加载模式与下载工作模式的区别。 启动加载(Boot loading)模式:这种模式也称为“自主”(Autonomous)模式。也即 Boot Loader 从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。这种模式是 Boot Loader 的正常工作模式,因此在嵌入式产品发布的时侯,Boot Loader 显然必须工作在这种模式下。 下载(Downloading)模式:在这种模式下,目标机上的 Boot Loader 将通过串口连接或网络连接等通信手段从主机(Host)下载文件到目标机的 RAM 中,然后再被 Boot Loader 写到目标机上的FLASH 类固态存储设备中.工作于这种模式下的 Boot Loader 通常都会向它的终端用户提供一个简单的命令行接口。因此产品开发时通常使用这种模式。 2.4.2 常用的bootloader 1.ARMBoot Armboot是一个bootloader,是为基于ARM或者StrongARM CPU的嵌入式系统所设计的。它支持多种类型的Flash;允许映像文件经由bootp、、tftp从网络传输;支持从串口线下载S-record或者binary文件;允许内存的显示及修改;支持jffs2文件系统等。Armboot源码公开,可以在/projects/armboot下载。 2.PPCBoot PPCBoot是德国DENX小组开发的用于多种嵌入式CPU的Bootloader引导程序,主要由德国的工程师Wolfgang Denk和Intemet上的一群自由开发人员对其进行维护和开发。支持PowerPC、ARM、MIPS、m68K等多种处理器平台,易于裁剪和调试。PPCBoot遵循GPL(通用公共许可)公约,完全开放源代码。PPCBoot源代码可以在sourceforge网站的社区服务器中获得,它的项目主页是http:///projects/ppcboot,也可以从DENX的网站htrp://www.den2.de下载。 3.U-Boot u-boot是sourceforge网站上的一个开放源代码的项目。它可对powerpc、MPC5xx、MPC8xx、MPC82xx、MPC7xx、MPC74xx、ARM(ARM7、ARM9、StrongARM、Xscale)、MIPS、X86等处理器提供支持,支持的嵌入式操作系统有linux、Vx-work、NetBSD、QNX、RTEMS、ARTOS、LynxOS等,主要用来开发嵌入式系统初始化代码bootloader。软件的主站点是/projects/u-boot。 u-boot最初是由PPCboot发展而来的,它对PowerPC系列处理器的支持最完善,对linux操作系统的支持最好。源代码开放的u-boot软件项目经常更新,是学习硬件底层代码开发的很好样例。目前已成为Armboot和PPCboot的替代品。 4.RedBoot RedBoot是一个专门为嵌入式系统定制的开发工具,最初由Redhat开发,是嵌入式操作系统eCos的一个最小版本,现在交由自由软件组织FSF管理,遵循GPL的发布协议。集Bootloader、调试、Flash烧写于一体。支持串口、网络下载,执行嵌入式应用程序。既可以用在产品的开发阶段(调试功能),也可以用在最终的产品上(Flash更新、网络启动)。 5.Blob Blob是Boot Loader Object的缩写,是一款功能强大的Bootloader。它遵循GPL,源泉代码完全开放。Blob既可以用来简单的调试,也

文档评论(0)

武神赵子龙 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档