BootLoader的一些知识
2015-08-17 13:04
274 查看
在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。(个人感觉就是不同硬件上的BIOS)
Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。[1]
对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的Bootloader,不同的处理器架构都有不同的Bootloader。Bootloader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。对于2块不同的嵌入式板而言,即使它们使用同一种处理器,要想让运行在一块板子上的Bootloader程序也能运行在另一块板子上,一般也都需要修改Bootloader的源程序。
Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。[1]
对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的Bootloader,不同的处理器架构都有不同的Bootloader。Bootloader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。对于2块不同的嵌入式板而言,即使它们使用同一种处理器,要想让运行在一块板子上的Bootloader程序也能运行在另一块板子上,一般也都需要修改Bootloader的源程序。
相关文章推荐
- Android动画效果translate、scale、alpha、rotate详解
- UILabel 多行文本及动态计算其高度
- ubuntu下Pycharm安装及配置
- Tomcat & Nginx
- Android(java)学习笔记168:Java异常分类
- UIView与CALayer的区别
- in query_vcvarsall raise ValueError(str(list(result.keys()))) ValueError: [u'path'] 解决
- PAT 1037. Magic Coupon (25)
- 第二部分:高级抓取(第七章、清理脏数据)
- linux下的环境文件设置说明
- 数据分布形态:峰度与偏度
- HDU 5302(Connect the Graph- 构造)
- 【POJ 1080】 Human Gene Functions
- 前端手札--meta标记篇
- 不懂技术,如何加密视频图片?
- cisco 动态路由RIP配置
- hdu 5301 Buildings 2015 Multi-University Training Contest 2
- 最大子列和问题
- Java Web应用程序:Oozie及其使用方式
- 翻译:AKKA笔记 - Actor消息 -1(一)