在开发2k page nand flash驱动的时候,遇到以下问题: 1.我用st的1Gbit的Nand Flash,芯片的datasheet里面没有单独读写spare区的命令,怎样能不对Main Data区进行操作,就可以对spare区进行单独访问即可以读和写? 2.芯片的datasheet是说A0-A11是Column Address, A12-A30是Row Address,A0-A7第一个周期发送,A8-A11第二个周期发送,A12-A19第三个周期发送,A20-A27第四个周期发送,A28-A30第五个周期发送。而实际代码的时候,第三次是写A11-A18到i.MX21的NAND FLASH的寄存器。 static D_BOOL PageAddress(D_UINT32 ulAddress) { int i; for (i = 0; i < 5; i++) { if (i == 0) { if (!AddressInput(0x00& 0xFFFF)) return FALSE; } else if (i == 1) { if (!AddressInput(0x00& 0xFFFF)) return FALSE; } else { if (!AddressInput((ulAddress>>((i-1)*8+3))& 0xFFFF)) return FALSE; } }
return TRUE; } 随便提一下,我现在是移植datalight公司的FlashFX for VxWorks,文件系统能用了,但其自带的单元测试过不了。 |