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**** 2581345 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/649308/tms320f28075-ecc-test-mode

器件型号:TMS320F28075

之前、我一直在使用 ECC 测试模式进行试验、目的是在执行写入函数时执行仿真 ECC 错误。 参考 TRM 2.12.10.3 SECDED 逻辑正确性检查。
1) 1)根据我的测试、ECC 测试模式似乎是一个完全独立的测试、它不依赖于任何主代码/程序。 如果是这种情况、我的假设是否正确、即在运行代码时无法将此方法集成到写入函数中以测试 ECC 完整性?
2) 2)是否有任何方法来测试芯片上的实际 ECC 功能、而不是测试模式计算的正确性。 我的项目的目的是测试器件的实际操作、而不是验证 ECC 计算算法。

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

    您好、KK、

    1) 1)当 ECC 测试模式被启用时、被测试的 SECDED 逻辑与评估来自闪存的数据和 ECC 的逻辑相同。  然而、当 ECC 测试模式被启用时、闪存将被旁路、因此您不能从闪存执行任何操作。  使用 ECC 测试模式的函数应从 RAM 中执行。  正如您正确理解的那样、SECDED 逻辑的输入由测试模式寄存器驱动、而不是直接从闪存驱动。  这里的想法是测试 SECDED 逻辑的运行状况、而不是闪存数据/ECC。

    2) 2)如果您不想使用 ECC 测试模式、而是直接想使用直接闪存数据和 ECC 来测试 SECDED 逻辑、则可以在闪存存储器中指定几个位置来插入有意的错误。  您可以在应用中嵌入闪存 API、以便在这些位置对有意错误进行编程。  您可以使用 fapi_calculateEcc()函数获取所需地址和数据的正确 ECC 值。  获得 ECC 后、您可以插入单位或双位错误(在数据或 ECC 中)、并使用 Fapi_DataAndEcc 编程模式对该数据+ ECC 进行编程。  有关  这些 API 函数的更多详细信息、请访问 www.ti.com/.../spnu629。  在运行时、您的应用程序可以定期读取这些位置、以确保 SECDED 逻辑能够捕获有意的错误。

    谢谢、此致、

    Vamsi