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.

[参考译文] AM2432:无法软件复位(eMMC SBL)

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1309171/am2432-unable-to-software-reset-emmc-sbl

器件型号:AM2432
主题中讨论的其他器件:SysConfig

您好、TI 专家!

我正在尝试在我们自己的 PCB 上从 eMMC 重新启动 AM2432B ALV。

它在上电时最初从 eMMC 进行冷启动、但当从应用程序内调用复位时、最终在 ROM 和 UART 备份引导中完成。

我正在 R5上运行 Hello World (AM243x nortos)示例、并在几次打印"Hello World"后添加了对 SOC_generateSwarmResetMainDomain 的调用。 我还尝试了调用 SOC_generateSwPORResetMainDomain。 复位调用后没有 UART 输出。 当 UART 被启用为备份引导选项时、它表示("...CCCCCCCC...") 在进行复位调用大约12秒后进行 UART 引导。

我正在使用的 sbl 是 mcu_plus_SDK_am243x_09_01_00_41 SDK (和 CCS 12.5)中的 sbl_eMMC_am243x-evm_r5fss0-0_nortos_ti-arm-clang 示例。 我所做的修改
SysConfig:
- EMMCAppImageOffset 位于0x200000而不是0x800000
- disableAppImageAuth 设置为 true (在 syscfg 编辑器中检查了"禁用应用映像的身份验证")如果没有此更改、则应用程序完全不会加载。

在重新启动调用之后、它似乎在引导 ROM 中结束、其地址为

418019ec:E320F003 wfi
418019f0:F10801C0 cpsie aif
418019f4:E2800000添加 r0、r0、#0

但根据技术参考手册(spruim2c.pdf Rev. 1.0) p.1862、我希望它在热复位时不能进入 ROM。

是否可以获取(公共部分) ROM 引导加载程序源代码?
是否有任何文档介绍如何使用从0x701B_D000开始的 ROM 日志、或者这仍然只是 TI 内部日志?

我正在刷写偏移量为0x0的 eMMC SBL

--file=sbl_emc.debug.hs.tiimage --operation=flash-eMMC --flash-offset=0x0

和偏移量0x200000处的应用(这与 eMMC SBL 示例中的0x800000不同)

--file=hello_world_am243x-evm_r5fss0-0_nortos_ti-arm-clang.appimage.hs_fs --operation=flash-emc --flash-offset=0x200000

这是我的 UART 输出。 (为什么引导介质未定义且映像大小为0?)

DMSC 固件版本9.1.6-- v09.01.06 (Kool Koala)
DMSC 固件版本0x9
DMSC ABI 版本3.1
[bootloader_profile]引导介质:未定义
[bootloader_profile]引导映像大小:0 KB
[BOOTLOADER_PROFILE] Cores Present : r5f0-0
[引导加载程序配置文件] SYSFW init : 12465us
[引导加载程序配置文件] System_init : 348837us
[引导加载程序配置文件] Drivers_open : 20360us
[Bootloader profile] Board_driversOpen : 0us
[引导加载程序配置文件] Sciclient 获取版本: 10033us
[引导加载程序配置文件] CPU 负载:44795us
[Bootloader_profile] SBL 总耗时: 436955us

图像加载已完成,正在切换到应用程序...
世界、您好!
世界、您好! >1<
世界、您好! >2<
世界、您好! >3<
立即重置...

02000000011a0000616d363478000000000048534653000
002000000020002a6000000000000b018658ad99dc903c8c9bf
b27b12751099920a042ad1dFeatures7b7ba57369f15546de285edde
6a7b39a8bdc40a27b237f8fb1e57f245e80b929c1e28b024aa2
ecc6ad0bc40b0000000000000000000000000000000
000000000000000000000000000000000000000000000000000
00000000000000000000000000000076d835ba0de64dd82d1bc
01da4cb47b78a7259cfdf4f5e8c2bee821c6a0b3e56CCCCCC

请告诉我缺少什么。
谢谢!
马丁

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

    我注意到我的帖子中有一个错误。
    用于刷写 eMMC SBL 的闪存写入器脚本行的内容应为

    -- file=sbl_emc.Debug.hs _fs .tiimage --operation=flash-eMMC --flash-offset=0x0