ST意法半导体
直播中

手托初梦

9年用户 890经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[问答]

STM32MP157 ARM可信固件引导错误与STM32CubeProgrammer的问题求解

我们有一个使用 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 时是否缺少允许这种引导方法的配置选项?










回帖(1)

沈艳丽

2023-1-31 15:50:11
是的,如前所述,我们有一个运行 TF-A 的功能系统。
问题是为 TF-A 构建启用了 STM32MP_BOOT_ONLY 参数,它禁用了 USB 支持,它已被删除并且一切正常。
在 plat/st/stm32mp1/ platform.mk 中有 STM32MP_BOOT_ONLY 和 STM32MP_FLASHLOADER 的定义,它们似乎用于构建更小更具体的 TF-A 版本。我希望 STM32_FLASHLOADER 构建参数可用于构建 flashlayout 页面https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer_flashlayout#e-E2-中列出(且未记录)的“tf-a-serialboot.stm32” 80-A2MMC
举报

更多回帖

发帖
×
20
完善资料,
赚取积分