您好、TI!
我尝试从闪存进行读取和写入、希望使用 ECC 功能来检测数据损坏。
我正在使用 mspm0_SDK_1_00_01_03、 dl_flashctl.h。
有人能 检查一下理解情况吗?:
1.要向闪存写入一个带 ECC 的64位字、我需要 调用
DL_FlashCTL_unprotectSector、然后调用
DL_FlashCTL_programMemoryFromRAM64WithECCGenerated、允许我将64位数据写入闪存地址。 该函数还为我生成一个 ECC、然后将其写入 ECC 存储器。
2.要读取一个 64位的字,并确保没有内存损坏,
使用指针从闪存回读数据、 然后调用
DL_FlashCTL_readVerifyFromRAM64WithECC 已生成。 该函数基于数据输入(回读值)生成 ECC、并将 ECC 和回读 值与闪存中的值进行比较。 如果所有项都匹配、则该函数返回 true。 错误时返回 false。
3. 默认情况下启用 ECC 代码的硬件生成功能。 是否有办法检查/配置此项?
4. 默认情况下禁用 ECC 代码编程、但只要调用上述两个函数就会启用 ECC 代码编程
非常感谢!