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.

[参考译文] AM2634:如果不刷新存储器、则无法检测到 SECDED ECC。

Guru**** 2524460 points
Other Parts Discussed in Thread: AM2634

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1535284/am2634-secded-ecc-not-being-detected-without-refreshing-the-memory

器件型号:AM2634


工具/软件:

TI 团队大家好、

我们将 AM2634 与定制硬件一起使用、在这种情况下、我们正在尝试实现 ECC 聚合器测试。 因此、我们以示例代码“SDL_ECC_MSS_L2_am263x-cc_r5fss0-0_nortos_ti-arm-clang" 作为“作为参考并实现了该代码。 在此程序中、我们会遇到一个问题、即仅当我们在注入 SEC 或 DED 错误之前持续刷新整个存储器时、才会检测到 SEC、DED 错误。 是否可以在不刷新整个内存的情况下检测到错误。 如果不是、 我们需要刷新的错误注入地址的最小块数是多少、才能检测到 SEC/DED 错误。

此致、

EMC

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

    尊敬的  TIMCM:

    您是如何刷新整个内存的?  

    我对 MSS 存储器运行 ECC 测试、并且所有测试(1 位和 2 位 ECC 错误注入)都通过了、没有 持续刷新存储器。

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

    尊敬的 Wang:

    在您使用的代码中、整个存储器正在刷新(即读回和写)

    ecc_funcTest -> ecc_example_init -> sdl_ecc_initMemory (sdl_example_ecc_aggr、sdl_example_ecc_ram_ID)

    -> sdl_ecc_memoryRefresh ((uint32_t *) memConfig.memStartAddr、(size_t) memConfig.size);也可以在中进行设置  

    ecc_sdlFuncTest->sdl_ecc_initMemory (sdl_example_ecc_aggr、sdl_example_ecc_ram_ID);->sdl_ecc_memoryRefresh ((uint32_t *) memConfig.memStartAddr、(size_t) memConfig.size);

    在该函数中、将读取和回写整个存储体、如果未调用刷新 fn、则 ECC 测试失败。

    此致、

    EMC

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

    尊敬的 TIMCM:

    需要使用 sdl_ecc_memoryRefresh() 来计算 ECC 值并将 ECC 值写入 ECC 空间。

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

    尊敬的 Wang:

    您能解释一下存储器 ECC 值何时更新、是否只有在我们刷新整个存储器时才更新?

    如果是、在存储器用于连续读取和写入的实时应用中、应该如何保护存储器。

     如果不是、 我们需要刷新的错误注入地址之后的最小地址块是什么、以便检测到 SEC/DED 错误。

    例如、如果存储器中的某个位损坏、则仅当程序手动刷新了整个存储器时才会发出 SEC 错误。 否则、ECC 不会检测到错误。 这是正确的还是我的误解?

     

    此致、

    EMC

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

    尊敬的 TIMCM:

    如果启用了 ECC、则向存储器写入值将计算 ECC 并将其编程到相应的 ECC 位置。 如果已对 ECC 进行编程并启用的存储器中的某个位损坏、则读取该存储器位置将导致 SEC 错误。

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

    尊敬的 Wang:

    如果启用了 ECC、则向存储器写入值将计算 ECC 并将其编程到相应的 ECC 位置

    那么为什么在没有刷新存储器的情况下即使在错误注入、然后写入或读取该存储器之后也无法检测到 ECC、

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

    尊敬的 TIMCM:

    明天上午我将再次检查。

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

    尊敬的 Wang:

    我们正在等待您的回复

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

    尊敬的 TIMCM:

    我在禁用刷新后重现了该问题。

    我正在学习 SDL 中的 ECC 驱动程序、看看我们是否错过了测试用例配置中的任何内容。  

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

    尊敬的 Wang:

    感谢您的答复、

     如果 有任何关于此问题的新发现或更新、请告知我们。  

    此致、

    EMC

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

    我在不使用 SDK 函数的情况下测试了 ECC 自检 (SEC 和 DED)。 我必须将数据编程到整个银行、以便进行自检。 这可能是仅 ECC 注入模式的限制。

    需要更多时间进行调试。 感谢您的耐心。  

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

    尊敬的 Wang:

    当出现有关此问题的任何新更新/发展/结论时、请更新我们。

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

    我会随时更新您的最新信息。

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

    尊敬的 Wang:

    是否有关于此问题的任何更新?

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

    尊敬的 TIMCM:

    我要求 SDK SBL 专家在 MSS-L2 上运行 ECC selfttest(在我的测试中,TCMA 和 TCMB 工作正常)、但我还没有收到反馈。

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

    尊敬的 Wang:

    TCMA 和 TCMB 在我的测试中工作正常

    即使没有刷新,他们工作正常吗?

    我还没有收到反馈。

    您可以跟进 SDK SBL 专家吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    即使没有刷新、它们也能正常工作吗?

    是的、您是否在 TCMA 和 TCMB 上尝试过 ECC 自检?

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

    是的、我们已经在 TCMA 和 TCMB 上尝试过 ECC 自检、但没有刷新内存就没有尝试过。 目前我们未使用 TCM、因此主要问题是 L2 RAM。

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

    明白。 我将促使我们的 SDL 专家再次检查 MSS-L2 上的 ECC selfttest。  

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

    尊敬的 TIMCM:

    根据我的几项测试、需要在注入 ECC 错误之前刷新存储器。 在注入模式下、ECC 包装器不执行 ECC 检测和校正。 它仅用于测试 ECC 逻辑以进行诊断。 在实际应用(非注入诊断模式)中、将在存储器读取操作期间自动检查 ECC(无需刷新)、如果出现任何 1 位或 2 位 ECC 错误、则会生成中断。