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.

[参考译文] RM48L952:ECC 行为不明确

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/851534/rm48l952-unclear-behavior-of-ecc

器件型号:RM48L952

QJ Wang、  

很抱歉、但您的答案是  

https://e2e.ti.com/support/microcontrollers/hercules/f/312/t/807881#pi320995=2

这根本不是答案。

最近将 TI 的答案标记为"TI 认为已解决"的习惯让人非常失望。 问题没有解决、我们 向您展示了一种奇怪的行为、很明显 您不在乎。 我不是说这不是我们的错、但在缺少详尽 的文档和示例的情况下、我们需要您的帮助。  

Valerio

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

    Valerio、您好!

    -  如果我定期调用 checkB0RAMECC()_mod 函数,则在我第一次调用函数时就会设置 tcram1ErrStat。 从我第二次调用函数开始、标志不再被置位、就像错误未被纠正一样。

    QJ>

    这是预期的。

    如果地址相同、CPU 将从缓存读取、而不是从 SRAM 读取。 此缓存是专为 ECC 设计的特殊缓冲器、用户不可见。

    Cortex-R4处理器通过将校正后的数据写回 SRAM 并重试访问来尝试校正 SRAM 中的1位错误。 如果1位错误是由硬故障引起的、那么这样做不会改变从 SRAM 读取的数据、 当重新尝试访问时、将再次检测到相同的错误、处理器将锁定、永久检测错误并重试、而不会取得任何进展。

    硬错误高速缓存的目的是防止 CPU 读取具有永久性单位错误的 SRAM。 假设其中一个内存单元中存在缺陷。 如果您从它读取数据、CPU 将检测到它为一个单位 ECC 错误。 CPU 将尝试将校正后的数据保存到硬错误高速缓存中、并将校正后的数据写回 SRAM、然后重试。 下一次如果 CPU 从同一错误地址读取、那么它只是从缓存读取、而不是从 SRAM 读取、因为地址中存在匹配项。

    您可以执行以下操作:
    地址1:ECC 损坏、读取数据以获取 ESM 错误
    地址2:ECC 损坏、读取数据以获取 ESM 错误
    3、地址1:ECC 损坏、读取数据以获取 ESM 错误

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

    您好、Wang、

    但是您只需复制并粘贴您在 https://e2e.ti.com/support/microcontrollers/hercules/f/312/t/807881帖子中给出的答案 即可!!!!!!!!!!!!

     我需要在 https://e2e.ti.com/support/microcontrollers/hercules/f/312/p/807881/3054661#3054661上对问题有明确的回答、您的回答很抱歉、但对我来说不完整。

    Valerio

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

    #如果我定期调用 checkB0RAMECC ()_mod 函数,则在我第一次调用函数时就会设置 tcram1ErrStat。 从我第二次调用函数开始、标志不再被置位、就像错误未被纠正一样。

    正如我说过的、 如果地址相同、CPU 读取的是缓存、而不是 SRAM。

    请告诉我们我的帖子(11月3日)中哪一部分不清楚。

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

    如多次所述、我需要对帖子中的3个问题提供3个答案  

    https://e2e.ti.com/support/microcontrollers/hercules/f/312/p/807881/3054661#3054661

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

    您是指这些问题吗?

    1。单个 ECC 位置的8个字节在同一64位内不相等(根据您的文档应该是这样)

    2.第一次写入 RAM 后 ECC 不会改变

    3.如果在第二个位置执行读操作,然后在第一个位置返回,则会产生数据中止