This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM623:编译到 tispl.bin 后、自定义 DM 固件不会引导

Guru**** 2979400 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1664658/am623-custom-dm-firmware-will-not-boot-after-compiling-into-tispl-bin

器件型号: AM623

您好:

为了介绍一些背景信息、我们使用的是运行 Linux SDK 8.6 的定制电路板。  

我们在开发过程中遇到了这一问题:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1511929/faq-dm-r5f-can-crash-in-certain-conditions-am62x-am62ax-am62dx-am62px-am67-am67a/5811603

 

我已阅读有关如何解决此问题的所有内容。 团队的方法是尝试在本文中重现问题:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1552627/faq-how-do-i-trigger-the-dm-r5f-crash-how-do-i-verify-that-the-crash-is-actually-fixed

我需要解决的问题是、即使在不进行任何修改来重现崩溃的情况下构建 DM 二进制文件、也会生成一个在加载 tispl.bin 后无法引导的二进制文件。

以下是过程:

从 mcu_plus_sdk_am62x_08_06_00_16/examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk/r5fss0-0_fretos 创建现有工程

构建进入 DM(无修改)ipc_message_xxx.out 的普通二进制文件

使用 tiarmstrip 去除二进制文件、将大小从~1.3MB 减小到~150KB

将二进制文件重命名为 ipc_echo_testb_mcu1_0_release_strip.xer5f  

用 board_support=prebuilt_images 目录替换并放入 Linux SDK 路径

运行 Build 以生成 tiboot3.bin、tispl.bin、u-boot.img

在定制电路板上通过 UART 引导加载二进制文件。  

控制台的输出:

 

CCCCCCCCCC
U-Boot SPL 2021.01-00001-ga347ec164e-dirty (7 月 14 日 2026 - 13:57:20 –0600)
SYSFW ABI:3.1(固件版本 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
SPL 初始栈使用量:13424 字节
尝试从 UART 引导
CCxyzModem - CRC mode、7105 (SOH)/0 (STX)/0 (CAN) packets、7 retries
已加载 908920 字节
不支持器件 7 的 init_env!
在 ARM64 内核上启动 ATF……

注意: BL31:V2.8(发行版):V2.8-226-g2fcd408bb3-dirty
通知: BL31:建造时间:2023 年 2 月 24 日 05:33:19

固件会挂起。

如有任何建议、将不胜感激。

谢谢您、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Nikolay:

    不再支持 SDK 8.6。 请迁移到最新的 SDK。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我知道这是一个旧的 SDK、但我们还无法迁移。 您能给我反馈生成 DM 二进制文件的上述步骤是否正确吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    下面是我以前为 SDK 10.0 编译 DM 固件的方法。

    $ pwd.
    /home/lb/sdk/mcu_plus_sdk_am62x_10_00_00_14

    $ make -s -C examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk/r5fss0-0_freertos/ti-arm-clang all profile=release

    $ cd examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk/r5fss0-0_freertos/ti-arm-clang
    $ ls -l                               
    rw-Rw-r- 1 lb 152880 9 月 12 日 14:07 ipc_rpmsg_echo_linux.wkup-R5f0_0.release.strip.out

    $ cp it 替换 /board-support/prebuilt-images/am62xx-evm/ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f