我的 k9f1208 写 spare 的16个字节 怎么只有第一个black 的写的正确,其它的都不正确那??
读写的程序在下面,大侠们说说。
int NF8_ReadSpare(U32 addr,U8 *pPage)
{
int i,j;
addr &= ~0x1f;
NFChipEn();
WrNFCmd(READCMD2); //point to area c
WrNFAddr(0);
WrNFAddr(addr);
WrNFAddr(addr>>8);
WrNFAddr(addr>>16);
WaitNFBusy();
for(i=0;i<16;i++)
{
*pPage++=RdNFDat();
}
WrNFCmd(READCMD0); //point to area a
NFChipDs();
return (0);
}
int NF8_WriteSpare(U32 addr)
{
int i;
// unsigned int blockPage;
// blockPage=(block<<5)+page;
addr &= ~0x1f;
NFChipEn();
WrNFCmd(READCMD2); //point to area c
WrNFCmd(PROGCMD0);
WrNFAddr(0);
WrNFAddr(addr);
WrNFAddr(addr>>8);
WrNFAddr(addr>>16);
for(i=0;i<16;i++)
{
WrNFDat(0xff);
}
WrNFCmd(PROGCMD1);
WaitNFBusy(); //needn't check return status
WrNFCmd(READCMD0); //point to area a
NFChipDs();
}