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.

[参考译文] TMS320F280039C:闪存损坏、导致持续 NMI 复位

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1510772/tms320f280039c-flash-memory-corruption-causing-continuous-nmi-reset

器件型号:TMS320F280039C

工具/软件:



1.我用这个闪存地址0xAF000写一些 与我的应用程序相关的关键参数(总计:前30个字节)。
2、附加的图像显示了一些非预期的垃圾值、如0xFFEF、0xEFFF。 在擦除操作的情况下、该值应该是0xFFFF、或者是与我使用的参数相关的一些值。 这似乎是闪存损坏。   
3.在尝试擦除这个扇区的同时刷新相同的代码运行良好。
4、我已经检查过每次写操作之前都在执行擦除操作。
5.我怀疑两件事,因为 NMI 被触发。  
a. 我正在使用 memcpy ()读取该闪存地址的数据,这可能会导致意外行为。
b.在初始化闪存 API 时。
 
我的代码序列首先执行 b、然后执行 a.  

我有两个问题  
1.什么会导致闪存损坏?
2.复位的原因是什么? Memcpy 还是闪存 API 初始化?
3、我也想重新创建这个。

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

    您好、Tanmay、

    1)尝试在断电状态下对器件进行编程可能会导致闪存损坏。  

    2)需要更多的信息,闪存时钟源是什么?

    谢谢。此致、

    Charles

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

    尊敬的 Charles:  

    时钟源是20MHz 的外部晶体。 此外、我们在使用闪存 API 之前还已启用 PLL。 闪存 API 在120MHz CPU 时钟上运行

    您还能在这里分享一些有关断电状态的文档或简介吗? 是什么导致器件处于断电状态?

    谢谢。此致、
    Tanmay Parekh

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

    尊敬的 Charles:

    任何更新?

    谢谢、
    Tanmay  

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

    您好、Tanmay、  

    对响应延迟深表歉意。 我们正在研究这个问题、我会为您找到答案。

    此致、

    Ryan Ma

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

    您好、Tanmay、

      有关闪存断电注意事项的信息、请参阅第3.10.5节。

    谢谢。此致、

    Charles