|
楼主 |
发表于 2012-11-27 09:52:01
|
显示全部楼层
uint8_t ucFlag = 0xFF;
uint8_t ucRFlag0 = 0;
uint8_t ucRFlag1 = 0;
uint8_t ret0;
uint8_t ret1;
for (i = 0; i < NAND_BLOCK_COUNT; i++)
{
ret0 = FSMC_NAND_WriteSpare(&ucFlag, i * NAND_BLOCK_SIZE, BI_OFFSET, 1);
FSMC_NAND_ReadSpare(&ucRFlag0, i * NAND_BLOCK_SIZE, BI_OFFSET, 1);
if (ucRFlag0 != 0xFF)
{
printf("");
}
ret1 = FSMC_NAND_WriteSpare(&ucFlag, i * NAND_BLOCK_SIZE + 1, BI_OFFSET, 1);
FSMC_NAND_ReadSpare(&ucRFlag1, i * NAND_BLOCK_SIZE, BI_OFFSET, 1);
if (ucRFlag1 != 0xFF)
{
printf("");
}
if(ret0|ret1)
{
break;
}
}
我试着将所有坏块标记都改好块0xFF,FSMC_NAND_WriteSpare写进去0xFF,FSMC_NAND_ReadSpare读出来还是0?这是为什么了? |
|