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.

[参考译文] SOC-AM243X:AM243x-EVM 无法刷写 MCU-PLUS-SDK 初始化二进制文件

Guru**** 2526700 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1344940/mcu-plus-sdk-am243x-am243x-evm-unable-to-flash-soc-initialization-binary

器件型号:MCU-PLUS-SDK
主题中讨论的其他器件:UNIFLASH

我正在尝试设置 AM243x-EVM 以运行 SDK 示例。  
我在评估套件上有贴纸 PROC101C (005)。
我使用的是 SDK 版本09_00_00_35
我使用的是 CCS 版本12.4.0

无法通过 EVM 设置步骤:

https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/EVM_SETUP_PAGE.html#autotoc_md32

这是错误消息:
"

C:\ti\mcu_plus_sdk_am243x_09_00_00_35\tools\boot>python uart_uniflash.py -p COM16 --cfg=sbl_prebuild/am243x-evm/default_sbl_null.cfg

正在解析配置文件...
正在解析配置文件...成功。 找到2个命令!!!

正在执行命令1/2...
找到闪存写入器...正在发送 sbl_prebuilt/am243x-evm/sbl_uart_uniflash.release.hs_fs.tiimage
发送 sbl_prebuilt/am243x-evm/sbl_uart_uniflash.release.hs_fs.tiimage:0%|▍| 1029/317925 [00:01<06:49,774.47bytes/s]
[ERROR] XMODEM 发送失败、EVM 无响应或响应错误或用户已取消、
对 EVM 进行下电上电、然后再次运行此脚本!!

"

这是 SockId_parser 输出、显示我有 HSFS 器件。

"
c:\ti\mcu_plus_sdk_am243x_09_00_00_35\tools\boot\socid_parser>python uart_boot_socid.py -d am64x --string="02000000011a0000616d363478000000000048534653000002000000002a60000000000000000b0
----------------
SoC ID 标头信息:
----------------
数字锁定数:2
----------------
SoC ID 公共 ROM 信息:
----------------
SubBlockId:1
SubBlockSize : 26
DeviceName:am64x
设备类型: HSFS
DMSC ROM 版本:[0、2、0、0]
R5 ROM 版本:[0、2、0、0]
----------------
SoC ID 安全 ROM 信息:
----------------
SEC SubBlockId:2
SEC SubBlockSize : 166
SEC PRIME:0
SEC 密钥版本:0
SEC 密钥计数:0
SEC TI MPK 散列:b018658ad99dc903c8c9bfb27b12751099920a042ad1dFeatur7b7b57369f15546de285edde6a7b39a8b3c40a27b237f8fb1e57f245e80b929c1e28c1e2edc2ecb0246aaae6
SEC Cust MPK 哈希:ad0bc40b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
SEC 唯一 ID:38eade9742133567ea39fbb688eccb0ae78d08d3e9b484508021b21e407744bd
"


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

    尊敬的 Daryl:

    您根据设备类型使用了正确的图像、因此该过程在理想情况下不会失败。 您能告诉我、它是随机还是每次多次尝试都失败吗?

    谢谢!

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

    尊敬的 Prashant:  
    它每次都失败。 已尝试几次重启等。
    我知道我已正确处于 UART 引导模式、因为在连接终端后我会看到"C"印制。
    谢谢。  
    达里尔

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

    尊敬的 Daryl:

    您能否尝试使用 Teraterm 发送 sbl_uart_uniflash.release.hs_fs.tiimage、然后查看它是否能够成功发送?

    TeraTerm:File -> Transfer -> XMODEM -> Send -> Sbl_UART_uniflash.release.hs_fs.tiimage 的路径

    此致、

    普拉桑特

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

    是的、通过 TeraTerm 发送的 XMODEM 成功发送。
    不过、SBL 似乎没有因此而更新?
    这是否意味着我有 python 问题?

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

    一些我之前漏掉的其他调试信息:

    C:\ti\mcu_plus_sdk_am243x_09_00_00_35\tools\boot>python uart_uniflash.py -p COM16 --cfg=sbl_prebuild/am243x-evm/default_sbl_null.cfg

    当出现错误时、其中包含以下信息:

    | 132/317925 [00:00<10:51, 487.81字节/s]

    这表示 xmodem 在错误发生前已发送132字节...


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

    如果我在此行修改 uart_uniflash.py:
    调制解调器= XMODEM1k (getc、putc)
    #MODEM = XMODEM (getc、putc)

    要使用 XMODEM 模块而不是 XMODEM 1k、这就是导致此差异的原因:

    X 调制解调器  
    | 132/317925 [00:00<10:51, 487.81字节/s]

    XMODEM1k
    | 1029/317925 [00:00<01:28, 3570.20字节/s]

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

    尊敬的 Daryl:

    请仅使用默认的 XMODEM1k 协议。

    在尝试使用 Python 脚本执行刷写过程之前、是否要确保 UART 端口在任何位置都未连接?

    此致、

    普拉桑特

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

    是的、我确定它未连接到任何位置。 在其他情况下、如果尝试过、UART 也会工作。
    它在错误输出前成功发送1029个字节的事实是奇数。 这是什么线索吗?

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

    我能否装回此开发套件并免费获得另一个可以正常使用的开发套件?

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

    看起来该脚本能够发送块、但在一段时间后、电路板会复位。 请注意、此行为可能是由于与 UART 启动关联的勘误表 i2371所致。 可在以下网址找到有关勘误表 i2371的信息:https://www.ti.com/lit/er/sprz457h/sprz457h.pdf

    您是否尝试过针对多个 POR 的刷写过程并观察到相同的问题?

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

    那么、我应该如何使用此评估套件来运行 SDK 示例?
    如果运行示例的第一步是更新此闪存、由于芯片勘误、我无法更新闪存。
    这是不可接受的 、评估套件应退款。
    或重新发送我一个实际上是免费工作.

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

    获取原理图并按 SW4以热复位电路板后、我得到一个以最终通过。
    它花了几次尝试,但一个成功。 感谢 POR 的建议。

    Debug:xmodem。 XMODEM:发送:块245
    Debug:xmodem。 XMODEM:发送:块246
    Debug:xmodem。 XMODEM:发送:块247
    Debug:xmodem。 Xmodem:send:块248
    Debug:xmodem。 XMODEM:发送:块249
    Debug:xmodem。 Xmodem:send:块250
    Debug:xmodem。 Xmodem:send:块251
    Debug:xmodem。 Xmodem:send:块252
    Debug:xmodem。 Xmodem:send:发送:块253
    Debug:xmodem。 XMODEM:发送:块254
    Debug:xmodem。 Xmodem:send:块255
    Debug:xmodem。 Xmodem:send:块0
    Debug:xmodem。 Xmodem:send:块1
    Debug:xmodem。 Xmodem:send:块2
    Debug:xmodem。 Xmodem:send:块3
    Debug:xmodem。 Xmodem:send:块4
    Debug:xmodem。 Xmodem:send:块5
    Debug:xmodem。 Xmodem:send:块6
    Debug:xmodem。 Xmodem:send:块7
    Debug:xmodem。 Xmodem:send:块8
    Debug:xmodem。 Xmodem:send:块9
    Debug:xmodem。 Xmodem:send:块10
    Debug:xmodem。 Xmodem:send:在 EOF 上
    Debug:xmodem。 Xmodem:发送 EOT、等待 ACK
    info:xmodem。 XMODEM:传输成功(接收到 ACK)。
    Debug:xmodem。 Xmodem:recv:soh
    Debug:xmodem。 Xmodem:recv:数据块1
    info:xmodem。 Xmodem:传输完成、128字节
    发送了28.97s 内大小为271805字节的 sbl_prebuilt/am243x-evm/sbl_null.release.hs_fs.timode。
    [状态]成功!!!

    执行配置文件中的所有命令!!!

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

    切换到 QSPI 模式后、我看到以下情况:

    Starting NULL Bootloader ... 
    
    DMSC Firmware Version 9.0.7--v09.00.07 (Kool Koala)
    DMSC Firmware revision 0x9
    DMSC ABI revision 3.1
    
    INFO: Bootloader_runCpu:155: CPU r5f1-0  is initialized to 800000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU r5f1-1 is initialized to 800000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU m4f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-0 is initialized to 800000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-1 is initialized to 800000000 Hz !!!
    INFO: Bootloader_runSelfCpu:217: All done, reseting self ...
    


    这是现在运行示例的正确 DSMC 吗?

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

    我想问这是不是正确的、因为它与 EVM 安装指南中的此处版本不匹配:
    software-dl.ti.com/.../EVM_SETUP_PAGE.html

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

    尊敬的 Daryl:

    由于您正在使用 SDK v09_00_00_35、因此该 SBL NULL 输出是正确的。 该输出意味着 SoC 已成功初始化、您现在可以通过 CCS 加载/运行示例。

    另请注意、由于您正在使用 TI EVM、因此您还可以尝试进行 DFU 和 JTAG 闪存。 我个人推荐 DFU、因为它需要很少的交互、而且速度更快。

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/TOOLS_FLASH.html#TOOLS_FLASH_DFU_UNIFLASH

    此致、

    普拉桑特

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

    感谢您帮助解决问题并澄清 SBL 构建。 非常感谢。