|
2440, k9f2g08u0b, 2kbyptes/page
我在测试一个nand的裸版驱动时发现一个问题
我写入的地址是4096, 读出来的发现是2048位置上的内容 = =
写入8192, 读出来的是4096上的内容
请教这是为什么啊, 万分感谢 :)
STATIC void __RdPage2048(U8 *buf)
{
unsigned i;
for (i = 0; i < 2048; i++) {
buf = NF_RDDATA8();
}
}
STATIC int Nand_ReadSectorPage2048(U32 sector, U8 *buffer)
{
U32 page, data_addr;
Nand_Reset();
NF_nFCE_L();
NF_CLEAR_RB();
NF_CMD(0x00); // Read command
NF_ADDR(sector & 0xff);
NF_ADDR((sector >> 8) & 0x0f);
NF_ADDR((sector >> 12) & 0xff);
NF_ADDR((sector >> 20) & 0xff);
NF_ADDR((sector >> 28) & 0x01);
NF_CMD(0x30);
NF_DETECT_RB();
__RdPage2048(buffer);
NF_nFCE_H();
return OK;
}
Nand_ReadSectorPage2048(4096, 0x30000000);
Nand_ReadSectorPage2048(8192, 0x30000000); |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|