嵌入式系统启动加载过程:两级搬运跳转

发布时间 2023-09-12 21:27:32作者: 西伯尔

通常的启动顺序如下:Boot ROM -> SPL -> BootLoader-> kernel

  • Boot ROM是厂商都无法进行更改,固化在芯片内部的ROM;
    确定用于启动的设备;
    从启动的设备的位置搬移一小段代码(4k/8k/16k)到RAM中运行,即SPL;
  • SPL(Secondary Program Loader)
    SPL 最小代码初始化内存,是一个小型的二进制文件,当系统内存无法完全容纳BootLoader时,需要 SPL 启动BootLoader文件。SPL 是第二个加载(和执行)其他程序的东西。
    功能:
    初始化DDR;
    从启动的设备搬移第二段代码到RAM中,加载BootLoader;(有些SoC是将BootLoader复制到RAM后,再进行DDR初始化;)
  • BootLoader

参考:https://zhuanlan.zhihu.com/p/265672867