the*_*dal 22 ubuntu operating-system kernel linux-kernel u-boot
我很清楚我对这三个问题的概念
为什么我们需要一个辅助程序加载器?
它被加载和重新定位的内存?
据我所知,通过读取链接是.. 当系统内部存储器无法完全保存uboot时需要SPL,因此我们需要使用称为SPL的最小代码来初始化内存.SPL是否真的需要重新定位,或者只是uboot与之相关?
Sam*_*nko 54
让我以OMAP平台为例进行解释(仅提供一些实际背景而不仅仅是理论或常识).看看初学者的一些事实:

所以这个第一阶段的引导加载程序是U-Boot SPL ; 和第二阶段的引导加载程序是常规的U-Boot(或适当的U-Boot).需要说明的是:SPL代表二级程序加载器.这意味着ROM代码是加载(和执行)其他程序的第一件事,而SPL是加载(和执行)其他程序的第二件事.所以通常启动顺序是下一个:ROM代码 - > SPL - > u-boot - >内核.实际上它与PC启动非常相似,它是:BIOS - > MBR - > GRUB - > kernel.
UPDATE
为了使事情完全清楚,这里是描述启动顺序的各个阶段表(明确使用术语可能的不确定性):
+--------+----------------+----------------+----------+
| Boot | Terminology #1 | Terminology #2 | Actual |
| stage | | | program |
| number | | | name |
+--------+----------------+----------------+----------+
| 1 | Primary | - | ROM code |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | 1st stage | u-boot |
| | Program | bootloader | SPL |
| | Loader (SPL) | | |
| | | | |
| 3 | - | 2nd stage | u-boot |
| | | bootloader | |
| | | | |
| 4 | - | - | kernel |
| | | | |
+--------+----------------+----------------+----------+
Run Code Online (Sandbox Code Playgroud)
所以我只是使用bootloader作为U-Boot的同义词,而程序加载器作为加载其他程序的任何程序的通用术语.
也可以看看:
[1] SPL(维基百科)
| 归档时间: |
|
| 查看次数: |
16945 次 |
| 最近记录: |