未知
来源:互联网 发布:淘宝香港官网 编辑:程序博客网 时间:2024/04/26 12:21
Bootloader将内核加载到内存中,设定一些寄存器,然后将控制权交由内核,该过程中,关闭MMU功能。通常,内核都是以压缩的方式存放,如zImage,这里有两种解压方法:
1、使用内核自解压程序。
2、在Bootloader中增加解压功能。
使用该方法时内核不需要带有自解压功能,而使用Bootloader中的解压程序代替内核自解压程序。其工作过程与内核自解压过程相似:Bootloader把压缩方式的内核解压到内存中,然后跳转到内核入口处开始执行。
内核有多种启动方式,如下:
1、非压缩,非XIP
非XIP方式是指在运行之前需对代码进行重定位。该类型的内核以非压缩方式存放在Flash中,启动时由Bootloader加载到内存后运行。
2、非压缩,XIP
该类型的内核以非压缩格式存放在ROM/Flash中,不需要加载到内存就能运行,Bootloader直接跳转到其存放地址执行。Data段复制和BSS 段清零的工作由内核自己完成。这种启动方式常用于内存空间有限的系统中,另外,程序在ROM/Flash中运行的速度相对较慢。
3、RAM自解压
压缩格式的内核由开头一段自解压代码和压缩内核数据组成,由于以压缩格式存放,内核只能以非XIP方式运行。RAM自解压过程如下:压缩内核存放于ROM/Flash中,Bootloader启动后加载到内存中的临时空间,然后跳转到压缩内核入口地址执行自解压代码,内核被解压到最终的目的地址然后运行。压缩内核所占据的临时空间随后被Linux回收利用。这种方式的内核在嵌入式产品中较为常见。
4、ROM自解压
解压缩代码也能够以XIP的方式在ROM/Flash中运行。ROM自解压过程如下:压缩内核存放在ROM/Flash中,不需要加载到内存就能运行,Bootloader直接跳转到其存放地址执行其自解压代码,将压缩内核解压到最终的目的地址并运行。ROM自解压方式存放的内核解压缩速度慢,而且也不能节省内存空间。
- 未知
- 未知
- 未知
- 未知 诗词
- 未知问题
- 关于未知
- 2010,未知
- 那些未知
- 未知文件类型的问题
- 未知的人
- 未知=诱惑?
- 错误1717:未知界面
- 当自信遭遇未知
- 未知的fedora8前路
- 未知高度的居中
- 未知高度的居中
- mysql 当掉,原因未知。。。
- 《遇见未知的自己》
- 企业管理之善谏篇
- 奥巴马就海地发生强烈地震发表讲话中英文对照
- 第三章 寄存器(内存访问)
- mfs1.6.11版本完全安装
- VC 开源项目
- 未知
- 用Thinkpad T400笔记本计算机和 Nokia 6120C手机通过蓝牙连接上网。
- 名字起不好,孩子蹲监狱?
- XP上安装 SQLSERVER2005 过程中“性能监视器计数器要求 错误“ 的一种解决方案
- 男人的责任,你能做到吗?
- 什么是工作流引擎(Workflow Engine )
- 史上最强骂人帖
- 线程同步
- ABAP数学函数