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.

[参考译文] MSPM0G3519-Q1:MSPM0G3519 微控制器数据闪存损坏

Guru**** 2805935 points

Other Parts Discussed in Thread: MSPM0G3519, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1605016/mspm0g3519-q1-mspm0g3519-microcontroller-data-flash-corruption

器件型号: MSPM0G3519-Q1
主题中讨论的其他器件: MSPM0G3519SysConfig

尊敬的 TI 团队:

我们将 MSPM0G3519 微控制器用于汽车应用。 具有 16KB 受保护区域 (0x41D00000) 的数据闪存我们使用 1KB(第 1 段)的数据闪存来存储设置信息。  

在部署的初始阶段、数据闪存读取和写入操作按预期运行、数据读取和写入周期更少。 但是、在超过 100 个数据读取和写入周期(变化)后、我们会观察到数据闪存损坏的实例、如附件中的图像(位于受影响电路板的示例数据下方的图像)所示。

在同一存储器位置不会始终发生损坏。 相反、在不同的闪存地址处会观察到这种情况。 此问题是间歇性的、在固定的地址或时间无法重现。  

image.png

我们使用以下 API 进行数据闪存读取和写入、如下所示

写入  

image.png

读取  

 lUI8_ReadVerifyCmdStatus=DL_FlashCTL_readVerifyFromRAM64WithECCGenerated (FLASHCTL、lUI32_ReadVerifyFlashAddress、lUI32_Data);

 

微控制器 — MSPM0G3519 [ LQFP-64 (PM)]

CCS IDE - 20.02

编译器 — ti-cgt-armllvm_4.0.0.LTS

SDK - mspm0_sdk_2_03_00_07

SYS 配置 — SYSCONFIG_1.21.2

 

非常感谢任何支持。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但是、在超过 100(变化)的数据读写周期之后、

    对于发生故障的设备、在 100 个周期后每次失败的剂量?

    那么每个设备都有这样的问题吗?

    到目前为止、故障率是多少?

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

    对于发生故障的设备、100 个周期后每次失败的剂量?否、它与周期数无关。 我们在 5 到 10 个周期后也观察到。

    那么每个设备都有这样的问题吗? 没有、我们根本没有观察到、但故障率正在增加  

    到目前为止、故障率是多少?目前、我们得到的故障率是 15K 中的~40

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

    请在下面查看我的评论:

    1. 您使用的主时钟频率是多少?在 SysConfig 中配置的闪存等待状态是多少?
    2. 在闪存写入或擦除操作之前、我没有看到禁用全局中断。 强烈建议在闪存写入或擦除操作之前禁用全局中断、然后启用全局中断。 客户可以参考以下代码进行操作

          __disable_irq();//禁用全局中断

          _enable_irq();//启用全局中断

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

    1.您使用的主时钟频率是多少?在 SysConfig 中配置的闪存等待状态是多少?

     - MCLK 是 64.00MHz 和 ULPCK(闪存控制器时钟)是 32.00MHz  

      下面的闪存控制器设置 由 SysConfig 配置为默认值、根据我们的 MCLK 和 ULPCK、是否需要更改等待状态值?

      

    2.我们在数据闪存写入操作过程中纳入您的建议   

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

    在此处、将等待状态设置为 2 可以正常。 请帮助遵循第 2 点、并在失败时向我提供反馈。

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

    我希望以下修改对于擦除和写入数据闪存操作应该没问题

    擦除闪存

    写入闪存

    我们目前正在执行我们的标准/正常测试程序。
    您是否建议执行任何其他或特定测试来隔离或解决此问题?

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

    “你听我说。

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

    当我尝试使用下面的代码使用普通样本进行基准测试时,它运行 1000*2 次擦除操作和 1204000*2 次写入和读取验证操作,没有任何问题。(调试时一半,自由运行时一半)

    e2e.ti.com/.../flashctl_5F00_write_5F00_read_5F00_verify_5F00_LP_5F00_MSPM0G3519-copy.zip