Other Parts Discussed in Thread: UNIFLASH, TMDS64EVM, AM6421
器件型号: AM6421
Thread 中讨论的其他器件: UNIFLASH、 TMDS64EVM
尊敬的 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 交互/时序有关
问题
- 与相比、UniFlash GUI 是否使用任何不同的协议/超时机制
uart_uniflash.py? - 即使命令行刷写没有要求、UniFlash GUI 是否需要 DDR 初始化?
- GUI 和 CLI 工具之间是否有任何 UART 时序或 ACK 差异?
- UniFlash GUI 是否有任何其他日志记录/调试模式可用?
- 在 AM64x 上运行 UniFlash GUI 是否存在任何已知的定制电路板依赖项?
- 我们能否为 AM6421 创建一个完全定制的闪存写入器/闪存器(而不是使用默认的 UniFlash 流程)?
- 是否有任何 TI 参考文档或示例可用于为 AM64x 器件开发定制 UART/OSPI 闪存编程器?
- AM6421 UART 引导刷写是否必须遵循任何强制性 ROM 协议要求?
- 该
sbl_uart_uniflash工程是否旨在进行自定义、以支持 S28HS512TGABHM010 等自定义闪存? - 对于 S28HS512TGABHM010 与 MCU+ SDK 11.02.00.24 闪存驱动程序、是否有任何已知的兼容性注意事项?
如有任何关于调试此问题的建议、请不胜感激。
谢谢。