嵌入式学习小组
直播中

王丽

7年用户 1320经验值
私信 关注

NUC970如何制造一个nandflash层ECC错误,并触发数据纠错?

使用NUC970 官网自带的mtd层nuc970_nand.c 驱动,硬件BCH ECC 已正确开启,如何制造一个nandflash 层ECC错误,并触发数据纠错,有什么办法? 有没有谁做过类似测试的。

回帖(1)

石玉兰

2023-12-17 11:24:49
一种方法是通过修改数据来制造ECC错误。可以使用nandtest工具来写入一个文件到NAND闪存,然后读取文件并进行比较,如果读取时检测到ECC错误,则说明ECC检测和纠错功能正常。具体可以参考以下步骤:

1. 在Linux系统上安装nandtest工具,并将其编译为可执行文件。
2. 使用nandtest工具写入一个文件,例如:nandtest —p /dev/nand0 —o test.bin
3. 用nanddump工具将写入的文件从NAND闪存中读取回来,例如:nanddump —p /dev/nand0 —o read.bin
4. 比较写入的文件和读取的文件,如果相同则说明没有ECC错误。如果存在差异,则说明NAND闪存中存在ECC错误,可以触发数据纠错。

另外,还可以尝试在编写驱动程序时通过模拟不同错误场景来测试ECC功能是否正常。例如模拟连续写入失败,或者断电时的数据损坏等情况。同时也可以考虑使用厂家提供的测试工具进行测试。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分