东山Pi柒号-3-STM32MP1 引导链概述
进行移植前先看看ST官网的一些资料,了解芯片的工作方式:
STM32MP1 引导链概述
https://wiki.stmicroelectronics.cn/stm32mpu/wiki/STM32MP1_boot_chain_overview
启动步骤如下
- BROM(BL1):芯片内部程序,根据BOOT PIN读取对应启动设备里的程序到内部SYSRAM执行,工作在
Secure World
安全模式下。由于SYSRAM很小,一般只用于加载First stage bootloader (FSBL)
。 - FSBL(BL2):第一阶段bootloader,负责初始化时钟树和DDR,然后加载
Second stage bootloader (SSBL)
并跳到DDR执行。常见的FSBL有U-boot SPL,Trusted Firmware-A,它们的区别在于是否对SSBL固件进行一些验证再执行,也就是Secure Boot
. - SSBL(BL3):第二阶段bootloader,如果不需要Secure Boot,则可以直接由U-boot SPL拉起U-Boot执行。在Secure Boot时分为下面几步执行:
- BL31:TF-A(Trusted Firmware-A)初始化安全执行环境,并对BL32进行进行固件安全验证启动。
- BL32:OP-TEE(Trusted Execution Environment 可信执行环境) 工作在安全模式下,使用
ARM TrustZone
硬件的安全隔离环境独立运行,可为用户空间程序提供安全服务交互。启动完成后切换到Normal World
非安全模式,并启动BL33。 - BL33:U-boot
- Kernel
这里有一篇文章有详细说明:
https://www.cnblogs.com/arnoldlu/p/14175126.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律