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.

[参考译文] TMS570LC4357:闪存 ECC 区域和测试机制

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/762797/tms570lc4357-flash-ecc-area-and-test-mechanism

器件型号:TMS570LC4357
主题中讨论的其他器件:NOWECC

您好!


我对闪存 ECC 区域(地址0xF0400000至 F05FFFFF 之间)有不同的问题:


--> 由于我们每64位数据都有8位 ECC,所以在此区域中只使用了515KB 的字节? 剩余的1、5 MB 未使用?

-->在数据表中,需要通过 nowECC 等外部工具计算 ECC。
是否可以通过 CPU 而不是外部工具自动对 ECC 数据进行编程。 可以使用哪个寄存器?

-->是否可以通过编程和读取数据(例如0xAA/0x55)来检查闪存 ECC 区域的完整性(例如没有卡在"0"或"1"的位)?
在这种情况下、必须不激活 ECC 机制?
 
-->要测试错误的1位或2位 ECC 机制,我需要损坏闪存 ECC 区域。 我在数据表中找到了 ECC 数据校正诊断模式7 (DIAGMODE = 7)。

通过此诊断自检、可以覆盖所有闪存地址?
还有其他意义吗? 例如、是否可以停用 ECC 机制、使用错误值直接写入闪存 ECC 区域并激活 ECC 机制来检查校正或检测?

此致、

François μ A

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

    您好 François、

    1.可用的帧大小为2MB,但仅实现512KB。 访问帧中任何已实现的存储器位置都会生成异常中断。  

    2.您可以使用 nowECC、CCS 或 F021闪存 API (通常在引导加载程序中用于对固件进行编程)来计算/编程 ECC。

    TMS570LC4357具有用于闪存、SRAM 和高速缓存的 ECC。 默认情况下启用它们、不能禁用它们。

     诊断模式7可用于测试1位或2位 ECC 错误。 您必须使用专用寄存器来改变 ECC 和数据(FEMU_DxSW、FEMU_ECC)。