文档详情

嵌入式技术实用教程教学课件作者姜帆第7章嵌入式系统的BootLoader课件.ppt

发布:2016-12-27约2.53千字共12页下载文档
文本预览下载声明
第7章 嵌入式系统的Boot Loader 学习目标: 1.掌握Boot Loader的概念与作用。 2.理解Boot Loader与嵌入式系统的关系。 3.熟悉Boot Loader的应用。 Boot Loader概述 简单地说Boot Loader就是在操作系统内核或用户应用程序运行之前运行的一段小程序。通过这段小程序可以初始化硬件设备、建立内存空间的映射图,将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。由于有的操作系统比较简单,或只有简单的应用程序,可能就不需要专门的Boot Loader来装载内核和文件系统,但仔细分析就会发现,它们都需要一个初始化程序来完成初始化,为后面的执行准备一个正确的环境。 Boot Loader的主要任务 存储设备典型空间分配结构 Boot Loader的操作模式 1.启动加载模式(Boot Loading) 启动加载模式也称为自主(Autonomous)模式,即Boot Loader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。这种模式是Boot Loader的正常工作模式。因此在嵌入式产品发布的时候,Boot Loader显然必须工作在这种模式下。只有工作在这种模式下,当系统上电或复位后,才能正常的运行操作系统,出现通信信息或图形界面供用户操作。 2.下载模式(Down Loading) 当采用下载模式时,目标机上的Boot Loader将通过串口连接或网络连接等通信手段从主机下载文件,如应用程序、数据文件、内核映像等。 Boot Loader的总体设计 第一、阶段设计 Boot Loader的启动可以是分阶段的。因此在设计时也可将Boot Loader分为阶段1和阶段2。将Boot Loader分为两个阶段的原因如下: (1)基于编程语言的考虑 (2)代码具有更好的可读性与移植性 Boot Loader的总体设计 第二、地址规划设计 当Boot Loader阶段设计好之后,需要考虑的是镜像存储的地址分配:如总镜像保存在什么地方,阶段2对应的镜像会被拷贝到什么地方;内核镜像原先存放在什么地方,Boot Loader会把它又重新加载到什么地方;如何进行准确的地址规划以保证没有相互冲突等。 Boot Loader的总体设计 3. 模式设计 对于普通用户来说只需要Boot Loader的启动加载模式,但是对于开发者来说,则需要下载模式,因为他们需要时时刻刻地进行一些镜像的更新。为了在两者之间做到兼顾,这里介绍一个既支持启动加载模式,又支持下载模式的具体思路:在Boot Loader做完一些硬件初始化工作后,而在加载内核镜像之前,先在一定的时间内等待是否有用户有键盘输入,如果没有,则为启动加载模式,直接加载内核镜像进行启动;如果有,则进入命令行格式,这时开发者就可以根据自己的需要以及Boot Loader的支持情况,做一些其他的工作。 Boot Loader的种类 右表列出了Linux的开放源码引导程序及其支持的体系结构。表中给出了X86、ARM、PowerPC体系结构的常用引导程序,并且注明了每一种引导程序是不是“Monitor”。 U-Boot的移植思路 U-Boot能够支持多种体系结构的处理器,支持的开发板也越来越多。因为Bootloader是完全依赖硬件平台的,所以在新电路板上需要移植U-Boot程序。 开始移植U-Boot之前,要先熟悉硬件电路板和处理器。确认U-Boot是否已经支持新开发板的处理器和I/O设备。假如U-Boot已经支持一块非常相似的电路板,那么移植的过程将非常简单。移植U-Boot工作就是添加开发板硬件相关的文件、配置选项,然后配置编译。开始移植之前,需要先分析一下U-Boot已经支持的开发板,比较出硬件配置最接近的开发板。选择的原则是,首先处理器相同,其次处理器体系结构相同,然后是以太网接口等外围接口相同。还要验证一下这个参考开发板的U-Boot,至少能够配置编译通过。 U-Boot的烧写 处理器调试接口是为处理器芯片设计的标准调试接口,包含BDM、JTAG和EJTAG三种接口标准。JTAG接口在第5章已经介绍过;BDM(Background Debug Mode)主要应用在PowerPC8xx系列处理器上;EJTAG主要应用在MIPS处理器上。这3种硬件接口标准定义有所不同,但是功能基本相同。 U-Boot的常用命令 U-Boot上电启动后,按任意键可以退出自动启动状态,进入命令行。 在命令行提示符下,可以输入U-Boot的命令并执行。U-Boot可以支持几十个常用命令,通过这些命令,可以对开发板
显示全部
相似文档