嵌入式系统的BootLoader

嵌入式系统的BootLoader

ID:46097692

大小:417.50 KB

页数:22页

时间:2019-11-20

嵌入式系统的BootLoader_第1页
嵌入式系统的BootLoader_第2页
嵌入式系统的BootLoader_第3页
嵌入式系统的BootLoader_第4页
嵌入式系统的BootLoader_第5页
资源描述:

《嵌入式系统的BootLoader》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十四讲嵌入式系统的BootLoader张朋月,手机13701338957zhangpy@yeah.net面向二十一世纪的嵌入式系统技术达盛知天培训中心课程简介课程内容:通过与PC系统与51单片机启动代码的比较来阐明嵌入式系统的bootloader.课程目的:使学员了解嵌入式系统的BootLoader的概念及嵌入式处理器大体的启动配置流程。讲座时间:25分钟51单片机的初始化代码与PC机的BIOS(一)各种处理器在上电或复位后都要从各自的ROM中读取一段代码来进行系统自身的初始化,在嵌入式系统开发过程中,这段代码被称为BootLoader在51类单片机中这种代码相对简单。下面就是

2、51单片机的初始化代码。ORG0000HLJMPMAINORG0023HLJMPSETINTMAIN:CLREA------SETINT:------51单片机的初始化代码与PC机的BIOS(二)在我们所熟知的X86的PC体系结构中,PC机的引导加载程序由BIOS来完成的,所说的BIOS就是一种存贮在一片EEPROM中的一段配置代码程序,主要完成PC机外设的硬件检测和系统资源的分配,然后将硬盘中MBR主分区中操作系统启动程序读取到RAM中,并将控制权交给操作系统的启动程序,从而启动操作系统。由此可见51单片机系统的初始化是靠数行汇编语句来完成,而PC机的初始化是靠存贮在固定芯片中

3、的BIOS程序代码来实现。51单片机的初始化代码与PC机的BIOS(三)接下我们研究一下PC的启动,PC的启动流程如下图示51单片机的初始化代码与PC机的BIOS(四)从现象来看,PC的BIOS更象是一种Boot程序,当Boot将控制权交给操作系统启动程序后,我们在PC的键盘按下F5或F8后,会看到系统提示我们是否正常启动还是进行到安全模式,如果我们安装有双操作系统,比如XP和Linux共同安装在同一台PC上,那可能就会提示,进入到那个操作系统,这种带有交互功能的Boot启动程序就可以定义为成是BootLoader了,这个BootLoader就存于主引导分区中,只是BootLoa

4、der体现的相对较弱。因此在PC系统中Boot和BootLoader共存于同一系统中,只是分属和位置不同而已。PC的BootLoader与操作系统密切相关,并侧重于与系统的交互装载引导功能,而Boot更侧重于引导功能,在非PC架构下的应用系统中,当Boot将控制权交给操作系统后,就无法再干预操作系统启动了,这也就是Boot与BootLoader的主要区别。嵌入式系统BootLoader的概念简单地说,BootLoader就是在嵌入式操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最

5、终调用操作系统内核准备好正确的环境。通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的BootLoader几乎是不可能的。尽管如此,我们仍然可以对BootLoader归纳出一些通用处理方法,以指导特定的BootLoader设计与实现。Boot与BootLoader区别Boot是与CPU最小核心系统(SDRAM和FLASH)密切相关的,其功能上应该分为两种,一种是主要负责最小核心系统的配置,并把BootLoader或操作系统从固态存储器复制到内存中,并将控制权交给BootLoader。而另一种就是较为复杂的Boot,要全面配

6、置适应操作系统的环境,然后把控制权直接交给操作系统,相当于BootLoader功能的载减。BootLoader可以说是首先含有Boot功能,但属于功能简单型,同时增加的交互功能和为适应操作系统启动的进一步配置功能,其与嵌入式操作系统有直接的关系,一些网络设备的启动都要在BootLoader下才能完成。Boot侧重于引导,BootLoader侧重于引导和交互,很多情况下BootLoader就完全完全当做Boot使用,但Boot一定不具有BootLoader的功能BootLoader几个关键点(一)1.BootLoader与最小核心系统硬件平台的关系每种不同的CPU体系结构都有不同的

7、BootLoader。有些BootLoader也支持多种体系结构的CPU,比如U-Boot就同时支持ARM体系结构和MIPS体系结构。除了依赖于CPU的体系结构外,BootLoader实际上也依赖于具体的嵌入式板级设备的配置。这也就是说,对于两块不同的嵌入式板而言,即使它们是基于同一种CPU而构建的,要想让运行在一块板子上的BootLoader程序也能运行在另一块板子上,通常也都需要修改BootLoader的源程序。比如我们把核心系统板上的内存加大一倍,那相应的BootLoade

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

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

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