嵌入式系统的BootLoader.ppt
《嵌入式系统的BootLoader.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统的BootLoader.ppt(22页珍藏版)》请在三一办公上搜索。
1、第十四讲 嵌入式系统的Boot Loader 张朋月,手机,面向二十一世纪的嵌入式系统技术,达盛知天培训中心,课程简介,课程内容:通过与PC系统与51单片机启动代码的比较来阐明嵌入式系统的bootloader.课程目的:使学员了解嵌入式系统的BootLoader的概念及嵌入式处理器大体的启动配置流程。讲座时间:25分钟,51单片机的初始化代码与PC机的BIOS(一),各种处理器在上电或复位后都要从各自的ROM中读取一段代码来进行系统自身的初始化,在嵌入式系统开发过程中,这段代码被称为Boot Loader在51类单片机中这种代码相对简单。下面就是51单片机的初始化代码。ORG 0000HLJM
2、PMAINORG 0023HLJMP SETINTMAIN:CLREA-SETINT:-,51单片机的初始化代码与PC机的BIOS(二),在我们所熟知的X86的PC体系结构中,PC 机的引导加载程序由 BIOS来完成的,所说的BIOS就是一种存贮在一片EEPROM中的一段配置代码程序,主要完成PC机外设的硬件检测和系统资源的分配,然后将硬盘中MBR主分区中操作系统启动程序读取到RAM中,并将控制权交给操作系统的启动程序,从而启动操作系统。由此可见51单片机系统的初始化是靠数行汇编语句来完成,而PC机的初始化是靠存贮在固定芯片中的BIOS程序代码来实现。,51单片机的初始化代码与PC机的BIOS
3、(三),接下我们研究一下PC的启动,PC的启动流程如下图示,51单片机的初始化代码与PC机的BIOS(四),从现象来看,PC的BIOS更象是一种Boot程序,当Boot将控制权交给操作系统启动程序后,我们在PC的键盘按下F5或F8后,会看到系统提示我们是否正常启动还是进行到安全模式,如果我们安装有双操作系统,比如XP和Linux共同安装在同一台PC上,那可能就会提示,进入到那个操作系统,这种带有交互功能的Boot启动程序就可以定义为成是Boot Loader了,这个Boot Loader就存于主引导分区中,只是Boot Loader体现的相对较弱。因此在PC系统中Boot和Boot Loade
4、r共存于同一系统中,只是分属和位置不同而已。PC的Boot Loader与操作系统密切相关,并侧重于与系统的交互装载引导功能,而Boot更侧重于引导功能,在非PC架构下的应用系统中,当Boot将控制权交给操作系统后,就无法再干预操作系统启动了,这也就是Boot与Boot Loader的主要区别。,嵌入式系统Boot Loader 的概念,简单地说,Boot Loader 就是在嵌入式操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常,Boot Loader
5、 是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的 Boot Loader 几乎是不可能的。尽管如此,我们仍然可以对 Boot Loader 归纳出一些通用处理方法,以指导特定的 Boot Loader 设计与实现。,Boot与Boot Loader 区别,Boot是与CPU最小核心系统(SDRAM和FLASH)密切相关的,其功能上应该分为两种,一种是主要负责最小核心系统的配置,并把Boot Loader或操作系统从固态存储器复制到内存中,并将控制权交给Boot Loader。而另一种就是较为复杂的Boot,要全面配置适应操作系统的环境,然后把控制权直接交给操
6、作系统,相当于Boot Loader功能的载减。Boot Loader可以说是首先含有Boot功能,但属于功能简单型,同时增加的交互功能和为适应操作系统启动的进一步配置功能,其与嵌入式操作系统有直接的关系,一些网络设备的启动都要在Boot Loader下才能完成。Boot侧重于引导,Boot Loader侧重于引导和交互,很多情况下Boot Loader就完全完全当做Boot使用,但Boot一定不具有Boot Loader的功能,Boot Loader 几个关键点(一),1.Boot Loader 与最小核心系统硬件平台的关系 每种不同的 CPU 体系结构都有不同的 Boot Loader。有
7、些 Boot Loader 也支持多种体系结构的 CPU,比如 U-Boot 就同时支持 ARM 体系结构和MIPS 体系结构。除了依赖于 CPU 的体系结构外,Boot Loader 实际上也依赖于具体的嵌入式板级设备的配置。这也就是说,对于两块不同的嵌入式板而言,即使它们是基于同一种 CPU 而构建的,要想让运行在一块板子上的 Boot Loader 程序也能运行在另一块板子上,通常也都需要修改 Boot Loader 的源程序。比如我们把核心系统板上的内存加大一倍,那相应的Boot Loader就要重新改动。,Boot Loader 几个关键点(二),2.Boot Loader 在核心系
8、统内存中的位置系统加电或复位后,所有的 CPU 通常都从某个由 CPU 制造商预先安排的地址上取指令。比如,基于 ARM7TDMI的 S3C44B0在复位完成后,片选CS0有效,开始从地址 0 x00000000 所连接的存储器中取它的第一条指令。这样CPU 就开始执行 Boot Loader 程序。下图是一个同时装有 Boot Loader、内核的启动参数、内核映像和根文件系统映像的固态存储设备的典型空间分配结构图。,Boot Loader 几个关键点(三),3.Boot Loader 大多通过串口与主机交互信息主机和目标机之间一般通过串口建立连接,Boot Loader 软件在执行时通过串
9、口输出打印信息给串口监控设备,用户也可以通过串口发送BootLoader能接受的控制字符,从而实现信息交互。,Boot Loader 几个关键点(四),4.Boot Loader 加载启动过程CPU首选通过读出Boot Loader前面相当于Boot功能的指令,完成CPU自身初级化及最少系统配置,然后将具有Boot Loader功能的程序段复制到内存中,同时把控制权交给内存中的Boot Loader。这个Boot Loader再次把系统进行配置重新配置已适应操作启动环境。,Boot Loader 几个关键点(五),5.Boot Loader 的操作模式(Operation Mode)大多数 B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 BootLoader
链接地址:https://www.31ppt.com/p-6569793.html