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.

[参考译文] TMS320F280025:闪存编程问题

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1275176/tms320f280025-problems-programming-flash

器件型号:TMS320F280025

大家好、

客户有问题需要您的帮助:

当前方案结构:

引导加载程序:sector0~sector1、上电以启动该程序、确定是否有程序要 APP_temp 擦除应用区域、将 APP_temp 数据复制到应用区域并擦除 APP_temp 区域、然后跳转到应用

APP:sector2~sector8、当前应用程序、在接收升级指令时擦除 APP_temp 区域、将接收到的数据写入 APP_temp 区域、并使用关断器重新启动 DSP

APP_temp:sector9~sector15、用于升级的临时应用程序区域

主机与 DSP 通信、发送程序 bin 数据、 擦除应用程序中的指定 APP_temp、然后将接收到的 bin 数据写入 APP_temp 

当主机持续不间断地发送整个 bin 文件时、DSP 可以正常擦除、编程和跳转。

当主机发送数据时、主机关闭、只有部分数据写入  APP_temp

稍后、如果您尝试再次下载程序、则在使用数据擦除扇区时 DSP 将复位、并且 Debug 会发现程序此时进入 ESTOP0。

如果使用 CCS 强制下载应用程序并同时擦除 APP_temp 区域、则可以继续使用主机下载程序。

当 APP_temp 中有数据时、为什么应用程序无法擦除 APP_temp?

现在的解决方案是修改引导加载程序代码、该代码已通电、然后是正常的升级判断、最后擦除 APP_TEMP 区域、无论是否进行升级。

这样、当应用在升级期间中断时、再次下载程序将导致 DSP 重新启动到擦除 APP_temp 的引导加载程序区域、然后可以正常擦除再次下载程序。

谢谢。此致、

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

    Ben、

    我认为仅用书面说明进行调试将具有挑战性、对闪存扇区进行一些可视化表示可能会更好、尤其是在主机 PC 停止发送数据时。  在这些思路下、客户是否注意到在发生这种情况时闪存中有什么?  这应该可以提供有关更新后的任务如何处理的一些线索  

    客户能否提供连接时代码停止的地址?  这可能只是仿真器已连接且 EMUBOOT 未定义的赝像。

    此致!

    马特