打印
[STM32MP1]

STM32MP1的启动流程是怎样的?如何配置TF-A和U-Boot?

[复制链接]
622|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
l63t89|  楼主 | 2025-3-1 04:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32MP1的启动流程是怎样的?如何配置TF-A和U-Boot?

使用特权

评论回复
沙发
公羊子丹| | 2025-3-2 08:11 | 只看该作者
STM32MP1 的启动流程分几个阶段:首先是 ROM code(引导代码),然后是 TF-A(Trusted Firmware-A),再到 U-Boot,最后才是 Linux 内核。你是想研究哪个阶段的启动?

使用特权

评论回复
板凳
周半梅| | 2025-3-2 08:12 | 只看该作者
TF-A 主要负责初始化低级硬件,比如时钟、电源管理和安全配置,而 U-Boot 则处理更高级的引导任务,比如加载 Linux 内核。你需要修改哪个部分的配置?

使用特权

评论回复
地板
帛灿灿| | 2025-3-2 08:14 | 只看该作者
启动模式取决于 BootROM 的设置,STM32MP1 支持从 eMMC、SD 卡、NAND Flash 甚至 USB DFU 启动,你现在用的是哪种启动方式?

使用特权

评论回复
5
童雨竹| | 2025-3-2 08:15 | 只看该作者
如果要配置 TF-A,你可以在 plat/st/stm32mp1/ 目录下修改启动参数,调整 PSCI 电源管理策略,或者配置 BL2 和 BL32 相关的选项。

使用特权

评论回复
6
万图| | 2025-3-2 08:16 | 只看该作者
U-Boot 的 Device Tree 需要正确配置,否则可能会导致设备无法识别外设,比如 eMMC、以太网等,你的 U-Boot 能正确进入命令行吗?

使用特权

评论回复
7
Wordsworth| | 2025-3-2 08:17 | 只看该作者
你是用官方的 OpenSTLinux 发行版,还是自己手动编译 TF-A 和 U-Boot?如果是手动编译,建议先阅读 ST 官方的 STM32MPU Embedded Software 文档。

使用特权

评论回复
8
Bblythe| | 2025-3-2 08:18 | 只看该作者
如果 U-Boot 运行异常,可以在 configs/stm32mp1_defconfig 里启用 CONFIG_DEBUG_UART,看看 UART 日志输出的错误信息。

使用特权

评论回复
9
Pulitzer| | 2025-3-2 08:20 | 只看该作者
你有没有尝试过 uboot.env 变量配置?U-Boot 的环境变量可以控制很多启动参数,比如 bootcmd 和 bootargs,修改错误可能会导致无法正常启动。

使用特权

评论回复
10
Uriah| | 2025-3-2 08:21 | 只看该作者
你是要用 TF-A + U-Boot 直接启动 Linux,还是要支持 OP-TEE(安全执行环境)?如果涉及安全功能,TF-A 需要特殊配置,比如启用 BL32。

使用特权

评论回复
11
Clyde011| | 2025-3-2 08:22 | 只看该作者
如果启动卡住了,可以尝试在 U-Boot SPL(SPL 阶段)加一些 debug 代码,看看是否在加载 ATF(TF-A)或者 Device Tree 解析时出了问题。

使用特权

评论回复
12
失物招領| | 2025-3-24 01:23 | 只看该作者
STM32MP1系列微处理器的启动流程涉及多个阶段,包括ROM代码、TF-ATrusted Firmware-A)、U-Boot

使用特权

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

使用特权

评论回复
14
将爱藏于深海| | 2025-3-24 03:23 | 只看该作者
一般来说,TF-A的配置文件位于plat/st/stm32mp1目录下

使用特权

评论回复
15
温室雏菊| | 2025-3-24 04:34 | 只看该作者
设备树,确保使用的设备树与硬件匹配

使用特权

评论回复
16
春日负喧| | 2025-3-24 05:23 | 只看该作者
如果需要启用安全启动,需配置TF-AU-Boot的安全选项

使用特权

评论回复
17
故意相遇| | 2025-3-24 06:34 | 只看该作者
使用JTAGSWD调试工具进行更深入的调试和验证

使用特权

评论回复
18
白马过平川| | 2025-3-24 07:23 | 只看该作者
这个启动流程就是先进入到ROM然后再执行boot吧,应该就这样

使用特权

评论回复
19
西洲| | 2025-3-24 08:34 | 只看该作者
没注意过啊,一般我都是做的应用层,哈哈,你可以看执行代码就好了,执行代码不是有日志输出的吗

使用特权

评论回复
20
风凉| | 2025-3-24 09:34 | 只看该作者
配置TF-AUboot是不是官方都有提供啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

95

主题

982

帖子

1

粉丝