我们有一个使用
STM32MP157C 芯片的定制板,我们在通过 CubeMXProgrammer 进行 USB 编程时遇到了问题。我们的系统正在运行,我们有一个 tf-a.stm32 二进制映像、一个功能性的 u-boot.st32 映像和一个工作的 rootfs Linux 系统。我们可以从 SDCard 和 eMMC 启动。
我已经阅读了 flashlayout 文档,该文档解释了 TSV 文件格式并创建了用于对 eMMC 闪存进行编程的布局文件,但是我们遇到了通过 USB 对设备进行实际编程的问题。
这是我们的 TSV 文件
#Opt Id 名称类型 IP 偏移量二进制
- 0x01 fsbl1-boot 二进制无 0x0 tf-a-stm32mp157c.stm32
- 0x03 ssbl-boot 二进制无 0x0 u-boot.stm32
PD 0x02 fsbl1 二进制 mmc1 boot1 tf-a-stm32mp157c.stm32
PD 0x04 fsbl2 二进制 mmc1 boot2 tf-a-stm32mp157c.stm32
PD 0x05 ssbl 二进制 mmc1 0x00100000 u-boot.stm32
PD 0x10 rootfs 系统 mmc1 0x00300000 rootfs.ext2
STM32_Programmer_CLI 正确解析了 TSV 文件,它下载了 TF-A (ID 0x01),但随后挂起。
内存编程...
打开并解析文件:tf-a-stm32mp157c.stm32
文件:tf-a-stm32mp157c.stm32
大小:245384 字节
分区 ID:0x01
正在下载:
[=============================================== =] 100%
文件下载完成
下载操作期间经过的时间:00:00:00.444
正在运行的程序...
部件 ID::0x01
我们有一个到 UART4 的串行连接来查看引导消息,当 TF-A 开始执行固件时,由于引导界面而导致恐慌。
注意:CPU:STM32MP157C?? 版本Z
注意:型号:定制板 1 - STM32MP157C
信息:重置原因(0x14):
信息:来自 NRST 的打击垫重置
信息:PMIC 版本 = 0x21
错误:找不到引导界面
PC 出现 PANIC:0x2ffd9b45
异常模式=0x00000016 在:0x2ffd8000
TF-A源码为ST分支2.0版本3.1:
https ://github.com/STMicroelectronics/arm-trusted-firmware/releases/tag/v2.0-stm32mp-r3.1
有没有人见过这个错误?我们在构建 TF-A 时是否缺少允许这种引导方法的配置选项?