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.

[参考译文] AM6421:AM64x UniFlash GUI 在 OSPI 擦除/编程期间超时、且 uart_uniflash.py 正常工作

Guru**** 2901230 points

Other Parts Discussed in Thread: UNIFLASH, TMDS64EVM, AM6421

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1646915/am6421-am64x-uniflash-gui-timeout-during-ospi-erase-program-while-uart_uniflash-py-works-correctly

器件型号: AM6421
Thread 中讨论的其他器件: UNIFLASHTMDS64EVM

尊敬的 TI 团队:

我们的定制 AM64x 电路板上的 UniFlash GUI 出现问题。

存在许多风险

  • SoC:AM64x
  • SDK:MCU+ SDK 11.02.00.24
  • 闪存:OSPI NOR
  • 引导模式:UART 引导
  • 工具:UniFlash GUI 和 uart_uniflash.py

引导开关设置

使用的引导模式开关配置:

SW2 (0→7)  : 1 1 0 0 1 1 1 0
SW1 (8→15) : 0 1 1 1 0 0 0 0

定制电路板上的工作场景

使用命令行刷新至 uart_uniflash.py、一切正常工作。

使用的命令:

python uart_uniflash.py -p COM3 --cfg=sbl_prebuilt/am64x-evm/default_sbl_null.cfg

控制台输出:

Parsing config file ...
Parsing config file ... SUCCESS. Found 3 command(s) !!!

Executing command 1 of 3 ...
Found flash writer ... sending sbl_prebuilt/am64x-evm/sbl_uart_uniflash_INSTANCES0.Release.hs_fs.tiimage

Sent flashwriter sbl_prebuilt/am64x-evm/sbl_uart_uniflash_INSTANCES0.Release.hs_fs.tiimage of size 306733 bytes in 29.03s.

Executing command 2 of 3 ...
Command arguments : --file=sbl_prebuilt/am64x-evm/sbl_ospi_OUR3.Release.hs_fs.tiimage --operation=flash --flash-offset=0x0
Sent sbl_prebuilt/am64x-evm/sbl_ospi_OUR3.Release.hs_fs.tiimage of size 314205 bytes in 29.51s.
[STATUS] SUCCESS !!!

Executing command 3 of 3 ...
Command arguments : --file=sbl_prebuilt/am64x-evm/hello_world_am64x-evm_r5fss0-0_nortos_ti-arm-clang.appimage.hs_fs --operation=flash --flash-offset=0x80000
Sent hello_world_am64x-evm_r5fss0-0_nortos_ti-arm-clang.appimage.hs_fs of size 53450 bytes in 7.77s.
[STATUS] SUCCESS !!!

All commands from config file are executed !!!

下电上电后:

  • 电路板从 OSPI 正确引导
  • SBL 正确执行
  • 应用程序引导成功
  • 应用程序正常运行

此设置在 SBL 中没有 DDR 初始化的情况下可以正常工作。

定制电路板上的问题场景

使用 UniFlash GUI 时:

  • 初始连接成功
  • 在擦除/编程操作期间、GUI 超时
  • 刷写/擦除操作未完成
  • 超时持续发生

TI EVM 的比较

我们在 TMDS64EVM 上测试了完全相同的过程:

  • UniFlash GUI 编程每次都正常工作
  • 从 OSPI 引导也可以正常工作
  • 未发现超时问题

因此、使用 UniFlash GUI 时定制电路板出现的特定问题。

观察结果

原因:

  • uart_uniflash.py 在定制电路板上正常工作
  • OSPI 引导在定制电路板上正常工作
  • TMDS64EVM 上也可以使用相同的 UniFlash GUI 设置

出现以下情况:

  • OSPI 闪存硬件正常工作
  • UART 刷写流程正常工作
  • 闪存写入器正常工作
  • 问题可能与定制硬件上的 UniFlash GUI 交互/时序有关

问题

  1. 与相比、UniFlash GUI 是否使用任何不同的协议/超时机制 uart_uniflash.py
  2. 即使命令行刷写没有要求、UniFlash GUI 是否需要 DDR 初始化?
  3. GUI 和 CLI 工具之间是否有任何 UART 时序或 ACK 差异?
  4. UniFlash GUI 是否有任何其他日志记录/调试模式可用?
  5. 在 AM64x 上运行 UniFlash GUI 是否存在任何已知的定制电路板依赖项?
  6. 我们能否为 AM6421 创建一个完全定制的闪存写入器/闪存器(而不是使用默认的 UniFlash 流程)?
  7. 是否有任何 TI 参考文档或示例可用于为 AM64x 器件开发定制 UART/OSPI 闪存编程器?
  8. AM6421 UART 引导刷写是否必须遵循任何强制性 ROM 协议要求?
  9. sbl_uart_uniflash 工程是否旨在进行自定义、以支持 S28HS512TGABHM010 等自定义闪存?
  10. 对于 S28HS512TGABHM010 与 MCU+ SDK 11.02.00.24 闪存驱动程序、是否有任何已知的兼容性注意事项?

如有任何关于调试此问题的建议、请不胜感激。

谢谢。

image.png

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

    您好!  

    与相比、UniFlash GUI 是否使用任何不同的协议/超时机制 uart_uniflash.py

    即使命令行刷写不成功、UniFlash GUI 是否会要求 DDR 初始化?
    GUI 和 CLI 工具之间是否有任何 UART 时序或 ACK 差异?

    UART Uniflash GUI 本质上是现有 uart_uniflash.py 工具周围的 GUI 包装器。 该功能目前处于试验阶段、TI 方面进行的测试极少。 由于 GUI 使用大多数相同的底层 CLI 功能、因此在协议处理或超时机制方面没有功能差异。

    UniFlash GUI 是否有任何其他日志记录/调试模式可用?

    有关更多详细信息、请参阅文档中的“使用 UART Uniflash GUI“部分:

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/12_00_00_27/exports/docs/api_guide_am64x/TOOLS_FLASH.html

    [引用 userid=“698538“ url=“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1646915/am6421-am64x-uniflash-gui-timeout-during-ospi-erase-program-while-uart_uniflash-py-works-correctly
    • 在 AM64x 上运行 UniFlash GUI 是否存在任何已知的定制电路板依赖项?
    • 我们能否为 AM6421 创建一个完全定制的闪存写入器/闪存器(而不是使用默认的 UniFlash 流程)?
    • 是否有任何 TI 参考文档或示例可用于为 AM64x 器件开发定制 UART/OSPI 闪存编程器?
    • AM6421 UART 引导刷写是否必须遵循任何强制性 ROM 协议要求?
    [/报价]

    有关定制闪存支持的详细信息、请参阅:

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/11_02_00_24/exports/docs/api_guide_am64x/CUSTOM_FLASH_SUPPORT_GUIDE.html

    [引用 userid=“698538“ url=“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1646915/am6421-am64x-uniflash-gui-timeout-during-ospi-erase-program-while-uart_uniflash-py-works-correctly
    • s 该 sbl_uart_uniflash 工程旨在针对支持 S28HS512TGABHM010 等定制闪存进行自定义?
    • 对于 S28HS512TGABHM010 与 MCU+ SDK 11.02.00.24 闪存驱动程序、是否有任何已知的兼容性注意事项?
    [/报价]

    有关电路板闪存配置和相关信息、请参阅:

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/11_02_00_24/exports/docs/api_guide_am64x/BOARD_FLASH_PAGE.html

    谢谢、

    JOMY