1、整个流程
- BootROM(MaskROM) → TPL(可选) → VPL(可选) → SPL → U-Boot proper* (main U-Boot)(*表示必须要的阶段)
- BootROM(1、用户不可写 2、10KB量级 3、执行速度快, 和SRAM接近)
- TPL(Tertiary Program Loader):SoC的SRAM太小导致SPL放不下,所以需要一个更小的引导程序(TPL),负责做最小化的初始化,DRAM 初始化并把 SPL 加载到 DRAM 中。
- SPL (Secondary Program Loader):第二阶段引导程序(对于Soc来说),但对于U-Boot来说,BootROM属于Soc固件不是 U-Boot 的一部分,SPL 是它的第一个运行阶段,叫做 “first-stage bootloader”。
- 如果没有 TPL,那 SPL 就是由 BootROM 直接加载到 SRAM 里,容量能够放下。
- 如果有 TPL,那 SPL 就是由 TPL 加载到 DRAM 里。
- SPL 作用是加载 main U-Boot,必要时还要加载 ATF/OP-TEE 等
- U-Boot proper (main U-Boot):这是 U-Boot 的 第二阶段,也就是完整功能的 U-Boot,提供命令行、驱动、内核加载等功能。
- 全功能的 bootloader,带 shell、驱动、网络、命令行等。
- 负责加载 Linux kernel、FDT、initramfs 等
本文来自博客园,作者:变秃了也就变强了,转载请注明原文链接:https://www.cnblogs.com/lichangyi/p/19104433