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.

[参考译文] TMS320F28388S:在通过 SCI 进行固件升级期间、闪存内核随机中止传输

Guru**** 2533560 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1204940/tms320f28388s-during-firmware-upgrade-over-sci-flash-kernel-transfer-abort-randomly

器件型号:TMS320F28388S
主题中讨论的其他器件:C2000WARE

您好!

`s 的硬件:TI 的评估板"C2000 F28003x controlCARD"
工作环境:Windows 作为主机操作系统。 运行在虚拟盒内的 Ubuntu Linux 客户操作系统。
功能开发:通过 SCI-A 进行固件升级

我正在着手通过 SCI-A 接口升级"C2000 F28003x controlCARD"的固件。
我参考了 C2000ware 实用程序、正在开发应用 C 编程并使用与 Ubuntu Linux 一起运行的虚拟盒子。

自动波特率锁定非常有效、在闪存内核传输期间、有时在传输大约100 - 150字节后会中止。
例如、主机发送数据0x00、但 F28003x 回显0xe0。 由于数据不匹配、该过程会中止。
如果我在没有重新启动 F28003x 的情况下重试、则闪存内核文件将成功传输。

但是、如果我重新启动 F28003x 并再次启动固件升级应用程序、则自动波特率锁定会成功运行、但闪存内核传输失败。

如果我在 Windows 中运行"serial_flash_programmer.exe"、则每次都可以正常工作。
失败的原因是什么? 您能帮助吗?

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

    尊敬的 Prashant:

    感谢您的提问。 如果它在内核传输期间发生故障,这将在闪存编程器的 loadProgram()例程期间发生。 您说过您在 Ubuntu Linux 客户操作系统上使用此工具吗? 您知道此操作系统是否与 Readfile 和 WriteFile 函数兼容?

    谢谢。

    查理

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

    感谢您的答复 Charles。

    IMO、Ubuntu 是文件读写兼容的、但问题可能是它在虚拟盒中作为来宾操作系统运行。
    我尝试在另一个 Linux 设备( BeagleBone )上执行相同的代码,现在我能够传输闪存内核。

    我们可以关闭该 TT。 感谢你的帮助。