bootloader的移植教学内容.ppt

bootloader的移植教学内容.ppt

ID:59560670

大小:423.00 KB

页数:87页

时间:2020-11-11

bootloader的移植教学内容.ppt_第1页
bootloader的移植教学内容.ppt_第2页
bootloader的移植教学内容.ppt_第3页
bootloader的移植教学内容.ppt_第4页
bootloader的移植教学内容.ppt_第5页
资源描述:

《bootloader的移植教学内容.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、bootloader的移植PARTIBootloader概述1.1Bootloader简介引导加载程序(Bootloader)是系统加电后运行的第一段软件代码。回忆一下PC的体系结构我们可以知道,PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR(masterbootrecord)中的OSBootLoader(比如,LILO和GRUB等)一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的BootLoader读到系统的RAM中,然后将控制权交给OSBootLoader。BootLoader的主要运

2、行任务就是将内核映像从硬盘上读到RAM中,然后跳转到内核的入口点去运行,也即开始启动操作系统。(用图来演示PC的启动过程)1.1Bootloader简介而在嵌入式系统中,通常并没有像BIOS那样的固件程序(注:有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。比如在一个基于ARMcore的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。(演示通信系统的一般系统启动过程)本节将从BootL

3、oader的概念和启动过程来讨论嵌入式系统的BootLoader。1.1Bootloader简介1.1.1BootLoader的概念简单地说,BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的BootLoader几乎是不可能的。尽管如此,我们仍然可以对BootLoa

4、der归纳出一些通用的概念来,以指导用户特定的BootLoader设计与实现。1.1Bootloader简介1、BootLoader所支持的CPU和嵌入式单板每种不同的CPU体系结构都有不同的BootLoader。有些BootLoader也支持多种体系结构的CPU,比如U-Boot就同时支持ARM、PPC和MIPS等一系列体系结构。除了依赖于CPU的体系结构外,BootLoader实际上也依赖于具体的嵌入式板级设备的配置。也就是说,对于两块不同的嵌入式板而言,即使它们是基于同一种CPU构建的,要想让运行在一块板子上的BootLoa

5、der程序也能运行在另一块板子上,通常也都需要修改BootLoader的源程序。1.1Bootloader简介2、BootLoader的安装系统加电或复位后,所有的CPU通常都从CPU制造商预先安排的地址上取指令。比如,ARM系列CPU在复位后都从地址0x00000000取它的第一条指令。而嵌入式系统通常都有某种类型的固态存储设备(比如:ROM、EEPROM或FLASH等)被安排在这个起始地址上,因此在系统加电后,CPU将首先执行BootLoader程序。1.1Bootloader简介一个同时装有BootLoader、内核的启动参

6、数、内核映像和根文件系统映像的固态存储设备的典型空间分配结构图(这个图是Linux的典型配置,不同的系统配置可以不同):1.1Bootloader简介3、用来控制BootLoader的设备或机制串口通讯是最简单也是最廉价的一种双机通讯设备,所以往往在BootLoader中主机和目标机之间都通过串口建立连接,BootLoader程序在执行时通常会通过串口来进行I/O,比如:输出打印信息到串口,从串口读取用户控制字符等。当然如果认为串口通讯速度不够,也可以采用网络或者USB通讯,那么相应的在BootLoader中就需要编写各自的驱动。

7、1.1Bootloader简介4、BootLoader的启动过程BootLoader的启动过程分为单阶段(SingleStage)和多阶段(Multi-Stage)两种。通常多阶段的BootLoader能提供更为复杂的功能,以及更好的可移植性。从固态存储设备上启动的BootLoader大多都是2阶段的启动过程,也即启动过程可以分为stage1和stage2两部分。至于在stage1和stage2中具体完成哪些任务,将在下一小节中具体讨论。1.1Bootloader简介5、BootLoader的操作模式大多数BootLoader都包

8、含两种不同的操作模式:“启动加载”模式和“下载”模式。这种区别仅对于开发人员才有意义。但从最终用户的角度看,BootLoader的作用就是用来加载操作系统的,而并不存在所谓的启动加载模式与下载工作模式的区别。1.1Bootloader简介启动加载(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。