大家在学习过程中肯定遇到过BootLoader文件,那么它到底有什么用?下面我来总结一下,不清楚地同学要记好笔记了。
一、BootLoader是什么?
BootLoader是系统上电或复位启动后,运行的第一段程序,是系统内核之前的引导加载程序,是严重依赖于硬件而实现的。
二、BootLoader有什么用?
首先大多数BootLoader都有两部分,分别是stage1和stage2。
1.第一部分stage1的作用
主要包括以下作用:
- 基本的硬件初始化,包括屏蔽所有中断、关闭处理器内部指令/数据Cache等等;
- 准备stage2的RAM空间;
- 复制stage2到准备好的RAM空间中;
- 设置堆栈;
- 跳到stage2的入口点。
2.第二部分stage2的作用
第二阶段通常是C语言来实现,可以完成更复杂的功能,也使程序具有良好的可移植性和可读性。
- 初始化需要用的硬件设备;
- 检查系统内存映射;
- 把kernel映射和根文件系统映像从flash调入到RAM空间;
- 设置内核启动参数;
- 调用内核。
本文属于本人的知识整理,由于很多知识个人理解的内容,可能有错漏的地方,如果您阅读本文过程中发现有不合适的地方,您可以在评论区留言指出,本人将感激不尽。