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.

[参考译文] TMS320F28075:意外的 ECC 故障。

Guru**** 2834805 points

Other Parts Discussed in Thread: TMS320F28075

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1019988/tms320f28075-unexpected-ecc-faults

器件型号:TMS320F28075

您好!

我们在器件中使用 TMS320F28075 DSP。  已为闪存启用 ECC 检查。  根据勘误表、错误阈值设置为>0。  (在本例中、它被设置为1。)  应用程序定期检查 UNC_ERR_INTFLG (不可纠正的错误中断标志)和 ERR_CNT (ECC 错误计数)。  如果 UNC_ERR_INTFLG 置1、或 ERR_CNT 大于0、系统会向用户发出故障信号并强制用户执行系统复位。  在使用数十种不同器件进行的许多小时的测试中、这种情况仅发生了几次。  但是、在我们最终确定设计时、它最近出现了几次、很难将这些故障与根本原因相关联。  根据主开发人员的说法、当检测到故障时、应用程序不会写入闪存。  在短期内、根据参考手册中的信息、我们将把误差阈值增加到一个大得多的值。  但是、我们希望更好地了解根本原因。  

我的初始问题如下:

  1. 了解 闪存 ECC 工作原理的最佳参考是什么?  (我没有使用过具有 ECC 的器件、因此我对该技术不是很熟悉。  我已经阅读了 DSP 参考手册中的相关章节和一些其他说明,但如果有更清晰的高级图则会有所帮助。)
  2. 您是否在其他 DSP 用户中听说过此问题?
  3. 应用程序不使用 OTP 空间、但使用仿真 EEPROM 功能。  这会产生影响吗?

谢谢你。

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

    您好、Corey、

    您为仿真的 EEPROM 扇区执行了多少个写入/擦除周期?  希望它在数据表规格限制中具有。

    您是否在多个器件或一个器件上观察到过这种情况?

    错误地址是反映您的应用程序代码空间还是反映 EEPROM 扇区?  如果它仅位于 EEPROM 区域、则可能是 ECC 编程不正确。   根据发生错误的地址、您是否检查了 ECC 是否在该地址正确编程?   

    是否使用 Fapi_AutoEccGeneration 模式进行编程? 此模式计算 ECC 并将其与数据一起编程。

    除了 TRM 闪存章节的 SECDED 部分、我们没有其他图表。  如果您有任何具体问题、我们可以帮助回答这些问题并相应地增强 TRM。

    以下是几个可帮助调试的常见问题解答:

    C2000器件的闪存 API 使用常见问题解答:   https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/951668 

    C2000器件中闪存 ECC 用法的常见问题解答 :  https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/951658 

    2.不,我们没有。

    ECC 编程不正确。  因此,我提出了上述问题。   

    谢谢、此致、
    Vamsi

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

    Vamsi、

    感谢您的快速回复。

    我 在数据表中看到、闪存的规格最大为20、000个擦除周期。  我们在测试中不可能超过此值。  您是否有最小值和标准值的近似值?

    这种情况在多个器件上发生、但非常罕见(但我不确定百分比)。   

    我们尚未检查具体地址。  这是一个很好的建议。  我将询问首席开发人员如何执行此操作。

    执行 EEPROM 写入时使用 Fapi_AutoEccGeneration 模式。   

    我应该补充 的是、这些故障在运行期间是随机发生的-它们不会在启动时或在应用程序执行的特定点立即发生。   

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

    Corey、

    您使用多少个扇区进行 EEPROM 仿真?   

    如果在多个器件上发生这种情况、我很确定这可能是您的软件问题。

    请检查地址并从此处进行调试。

    随机的原因可能是:它取决于应用程序何时读取错误编程的位置-它取决于应用程序的输入条件。

    谢谢、此致、

    Vamsi

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

    您好、Vamsi、

    我们使用三个扇区进行 EEPROM 仿真(包括扇区 C - E)。 该范围的任一侧都有空扇区、用于防止应用程序或其他数据损坏。

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

    您好、Corey、

    好的、如果您使用的是3个扇区、并且在规格 W/E 耐久性限制中、那么这不应该是闪存问题。
    请根据错误地址进行调试并返回跟踪。

    谢谢、此致、

    Vamsi

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

    您好、Vamsi、

    好的、感谢您的确认。  我们有一种解决办法,我们希望它能解决这个问题。  由于我们在测试中的时间点、我们将无法确认触发问题的地址已存在一段时间、但我会将您的回答标记为解决此问题以解决问题、因为我认为您的建议是正确的 下一步。

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

    Corey、

    感谢您的更新。 你的方向是正确的。 我现在将关闭此主题。 如果您有其他问题、如果此主题被锁定、您可以打开新帖子。

    谢谢、此致、
    Vamsi