《第三部分(搞高篇)讲稿-----(一)___Bootloader》.ppt

《第三部分(搞高篇)讲稿-----(一)___Bootloader》.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三部分(搞高篇)讲稿(一)___Bootloader;一、 Bootloader ;在嵌入式系统中: 通常并没有像 BIOS 那样的固件程序 (注,有的嵌入式 CPU 也会内嵌一段短小的启动程序) ,因此整个系统的加载启动任务就完全由 Boot Loader 来完成。 比如在一个基于 ARM7TDMI core 的嵌入式系统 中,系统在上电或复位时通常都从地址 0处 开始执行,而在这个地址处安排的通常就是系统的 Boot Loader 程序。 ;1.Boot Loader 的概念 简单地说,Boot Loader 就是在操作系统内核 运行之前运行的一段小程序。 通过???段小程序,我们可以初始化硬件设备、 建立内存空间的映射图,从而将系统的软硬件环境 带到一个合适的状态,以便为最终调用操作系统内核 准备好正确的环境。 通常,Boot Loader 是严重地依赖于硬件而实现 的,特别是在嵌入式世界。 因此,在嵌入式世界里建立一个通用的 Boot Loader 几乎是不可能的。尽管如此,我们仍然可以 对 Boot Loader 归纳出一些通用的概念来,用以指导 特定的嵌入式系统 Boot Loader 设计与实现。 ;Boot Loader 一些通用的概念: (1) Boot Loader 所支持的 CPU 和嵌入式板 (2) Boot Loader 的安装媒介 (3) Boot Loader 的控制方式 (4) Boot Loader 的操作模式 (5) Boot Loader 与主机通信 ;(1) Boot Loader 所支持的 CPU 和嵌入式板;(2)Boot Loader 的安装媒介 系统加电或复位后,所有的处理器通常都从某个预先 安排的地址上取指令。 比如,ARM在复位时从地址0x0取指。 嵌入式系统中通常都有某种类型的固态存储设备(比 如:ROM、EEPROM 或FLASH 等)被映射到这个预先安 排的地址上。因此在系统加电后,处理器将首先执行 Boot Loader 程序 Bootloader是最先被系统执行的程序 ;固态存储设备的典型空间分配结构;;(3)Boot Loader的控制方式 ??主机和目标机之间一般通过串口建立连接,Boot Loader 软件在执行时通常会通过串口来进行通讯,比如:输出打印信息到串口,从串口读取用户控制字符 ??也可以通过JTAG等其他接口通讯 ;(4)Boot Loader 的操作模式?? 大多数Boot Loader 都包含两种不同的操作模式:?? 启动加载模式?? 下载模式?? 最终用户的角度看,Boot Loader 的作用就是用来 加载操作系统,而并不存在所谓的启动加载模式与 下载工作模式的区别;启动加载与下载模式 ?? 启动加载模式 称为“自主”(Autonomous)模式。也即Boot Loader 从目标机上的某个固态存储设备上将操作系统加载到RAM 中运行,整个过程并没有用户的介入。这种模式是Boot Loader的正常工作模式,因此在嵌入式产品发布的时侯,Boot Loader 显然必须工作在这种模式下。 ??;下载模式 在这种模式下,目标机上的Boot Loader 将通过串口连接或网络连接等通信手段从主机下载文件,比如:下载内核映像和根文件系统映像等。从主机下载的文件通常首先被Boot Loader 保存到目标机的RAM 中,然后再被Boot Loader 写到目标机上的FLASH 类固态存储设备中。 Boot Loader 的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用Boot Loader 的这种工作模式。工作于这种模式下的Boot Loader 通常都会向它的终端用户提供一个简单的命令行接口。 ;(5)BootLoader与主机通信 串口传输,传输协议通常是xmodem/ymodem /zmodem。程序简单,传输的速度比较 慢,115200bps 通过以太网传输是个好方法。TFTP 协议是 最常见的方式 ;2.Boot Loader 的主要任务与典型结构框架; Boot Loader 的stage1 ??通常包括以下步骤(以执行的先后顺序): 1.硬件设备初始化。 2.为加载Boot Loader 的stage2 准备RAM 空间。 3.拷贝Boot Loader 的stage2 到RAM 空间中。 4.设置好堆栈。 5.跳转到stage2 的C 入口点 ;;Boot Loader 的stage2 通常包括以下步骤(以执行的先后顺

文档评论(0)

wangxue1 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档