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.

[参考译文] CC1312R:NVS 闪存损坏

Guru**** 2593870 points
Other Parts Discussed in Thread: CC1312R

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1068954/cc1312r-nvs-flash-corruption

部件号:CC1312R

您好,香榭丽舍

1.客户使用 NVS 驱动程序在 Flash 中记录数据

2.如果 NVS 操作期间断电,他的整个闪存都会损坏,他需要重新刷新整个 SoC 才能使其再次正常工作。

3.客户预期,如果发生断电,最糟糕的事情是正在擦除/写入的闪存扇区损坏,但其余的都是正常的

这种期望是否有效?

我的第一个想法是在使用 NVS 驱动程序之前进行 Vdd 测量,并且只有在 Vdd 处于可接受的级别时才开始写入/删除...

在 CC1312上删除扇区所需的最长时间是多少?  

 我们是否有一些最佳实践收集操作系统中 NVS 的使用情况/如何设计硬件 和软件以排除擦除/闪存操作期间断电等情况?

谢谢

塔马斯

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

    对于擦除时间:从 CC1312R 数据表:

    请注意红色的脚注。

    [引用 userid="35019" url="~ë/support/wireless-connectivity sub-1-GHz-group/sub-1-GHz/sub-1-GHz-forum/1068954/cc1312r-NVS-flash-corruption"]如果 NVS 操作期间断电,其整个闪存都会损坏

    需要澄清的是:如果客户在断电并读回全闪存内容时对特定页面/扇区执行闪存操作,则整个内容是否已损坏? 因为在写入内容之前必须擦除闪存页面,这听起来很奇怪。 如果在擦除一个扇区时发生断电,则不应擦除整个闪存,因此其余闪存的内容不应受到影响。  

    您写道“断电”:在这种情况下,芯片的 VDDS 如何? 当我读取“断电”时,我希望 VDDS 达到0 V,如果是这种情况,软件将停止运行。

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

    在擦除/写入操作期间断电后(他不知道断电期间执行的操作),他的闪存将损坏,其应用程序 SW 将不再启动。

    他声称,他唯一的解决办法是重新刷新整个设备。

    我已经要求他提供原理图,一旦他提供,我会将其发布在这里。

    我还会要求对 VDDS 进行范围捕获,以便清楚他的功耗含义。

    谢谢

    塔马斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="35019" url="~ë/support/wireless-connectivity sub-1-GHz-group/sub-1-GHz/sub-1-GHz-forum/1068954/cc1312r-NVS-flash-corrupt/3956535#3956535"],其应用软件软件无法启动[引用/引用]。

    这并非意料之外。 但这取决于应用程序使用闪存的方式。  

    一个非常简单的组成示例:

    假设应用程序位于第0-9页,某些变量位于第10-11页。 如果前10页中的任何一页被销毁,他的应用程序将崩溃,但如果第10页至第11页受到影响,我希望它能够正常工作。   

    因此,如果可以重新创建:在检测到损坏时读取整个闪存,并在损坏前与内容进行比较。 多一页是否会受到影响? 还请检查.map 文件,受影响的闪存页面上有什么内容?