如图所示:经过手册描述的经过异或等操作后,这次读取的512byte数据中4个及以下的错误数据已经被改过来了吗?也就是说经过纠错处理后的数据是正确的数据了?
还有一个问题就是nand写部分,也有ECC校验值,在程序中将数据写入后,紧接着写sparedata区数据,是否需要将写入的数据读取出来得到读取操作的ECC参数值与实际写入sparedata区域的ECC参数对比来验证写入是否正确的操作吗?
Tony Tang:
可以参考Nandwriter工程里的device_nand.c的DEVICE_NAND_ECC_correct()函数。或者Uboot里的相应代码。