在调试NAND FLASH的数据读写,用了ECC,可是发现有两个奇怪的现象:
1.设定对NAND FLASH一次写入8K数据,写入后读取ECC值(0x5555A655)并保存,随后不停地从NAND FLASH中读取这8K数据,并同时读取ECC值,两个ECC值是一致的;
2.修改程序,只对NAND FLASH 进行读操作,仍旧读取这8K数据,此时第一次读取操作得到的ECC值为0x55555556,再循环读取时,ECC值变成了0x00000000。
我是按照资料上的介绍来控制ECC的:
FSMC_NANDECCCmd(FSMC_Bank3_NAND, ENABLE);
NAND_ReadSmallPage_SinglePage(MultiBlock_Buffer,&NAND_Address);
Temp_ECC = FSMC_GetECC(FSMC_Bank3_NAND);
FSMC_NANDECCCmd(FSMC_Bank3_NAND, DISABLE);
哪位大侠知道问题在哪里呢? |