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.

[参考译文] AM2634:LP-AM243:通过 UART 使用 Python 脚本擦除 UART 闪存的程序

Guru**** 2747405 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/1607490/am2634-lp-am243-erasing-uart-flashed-program-with-python-script-over-uart

器件型号: AM2634
Thread 中讨论的其他器件: UNIFLASH

您好、

在尝试使用uart_uniflash.py AM263x LaunchPad 上通过 UART 擦除之前刷写过 UART 的程序时、我遇到问题。

下面是确切的步骤和观察结果。


刷写过程(按预期工作)

  1. 将电路板设置为 UART 引导模式并执行下电上电。

  2. 通过观察CCCC UART 终端上的连续字符来验证 ROM 引导加载程序是否处于活动状态。

  3. 使用 UniFlash 工具 (UART) 对 SBL 和应用程序进行编程。

  4. 将引导模式更改为 QSPI (4S)-带 UART 回退的四路读取。

  5. 对电路板进行下电上电。

  6. 应用程序从 QSPI 闪存启动并正常运行。


擦除过程(失败)

  1. 将电路板设置为 UART 引导模式并执行下电上电。

  2. 验证CCCC UART 终端上的字符串(ROM 引导加载程序处于活动状态)。

  3. 尝试使用擦除闪存uart_uniflash.py

  4. 使用的命令:

python ./uart_uniflash.py -p COM7 --operation=erase --flash-offset=0x0 --erase-size=0xFFFFFFFF
  1. 观察到的输出:

Sending erase_command: 1031bytes [00:20, 1791.46bytes/s]
recv error: getc timeout in start sequence
Sending erase_command: 1032bytes [01:00, 11.96bytes/s]
recv error: getc timeout in start sequence
Sending erase_command: 1046bytes [02:50,  2.94bytes/s]
error_count reached 16, aborting.
Sending erase_command: 1048bytes [02:50,  2.94bytes/s]
[ERROR] XMODEM recv failed, no response OR incorrect response from EVM OR cancelled by user,
Power cycle EVM and run this script again !!!

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

    尊敬的 Smit:

    感谢您分享问题的详细步骤和描述。

    我能够确认问题、看起来像 UART 闪存器、似乎无法正确理解擦除命令

    我已经创建了一个错误,该错误将在下一个版本中修复:

    jira.itg.ti.com/.../MCUSDK-15224

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

    同时、作为一种权变措施、您也可以在 QSPI 模式下使用 Uniflash GUI 工具刷写和擦除闪存。 操作通过 JTAG 进行。

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM263X/latest/exports/docs/api_guide_am263x/TI_UNIFLASH_TOOL.html

    如有任何其他问题、请告诉我。

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

    感谢您的澄清和确认。

    目前、我们正在通过 JTAG 对 UniFlash 使用建议的权变措施。 但是、我们还在开发定制电路板的过程中、最终硬件不包括 JTAG 连接功能。

    由于这一限制、基于 UART 的擦除和重新编程是我们的生产和现场更新工作流程的一项关键要求。

    您能否分享 MCU+ SDK 或相关工具中是否有关于 UART 擦除问题修复的预计时间表?

    了解预期的时间范围将极大地帮助我们规划硬件和固件策略。

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

    包含修复程序的 SDK 版本计划于 2025 年 5 月发布、我们将尝试在 二月中旬提供 git hub 补丁