STM32MP1的启动流程通常分为以下几个阶段:上电后,处理器首先执行ROM代码。ROM代码负责初始化基本硬件,并从启动设备(如SD卡、eMMC、NOR/NAND Flash等)加载FSBL(First Stage Boot Loader)。TF-A是ARM Trusted Firmware的实现,负责安全启动和硬件初始化。TF-A分为BL2和BL32(可选)阶段:BL2:加载并验证U-Boot或OP-TEE(可选)。BL32:运行OP-TEE(可选),提供安全服务。U-Boot是第二阶段的引导加载程序,负责加载操作系统内核和设备树。U-Boot还可以提供命令行接口,用于调试和配置。U-Boot加载并启动Linux内核,内核进一步初始化系统并启动用户空间
|