阅读:1369回复:3
求教:关于nandflash的读写和寻址
cpu: 三星2440;系统:WinCE
对128M的 nandflash 的寻址,是按照一下的哪一种方式进行的呢? 页大小:2048bytes ,1block = 64pages 1device=1024blocks 第一种: 2bytes的column address ,然后是1byte Page address,最后是2bytes 的 block address 第二种: 2bytes的column address,然后是 2bytes的page address 第一种寻址和第二种寻址中,发送的第三个直接应该会不一样的。按照datasheet上,是按照第二种方法寻址的即2字节列地址,2字节页地址;可是我在代码中看到的是按照第一种方法进行寻址的即2字节列地址,1字节页地址,然后是2字节的块地址。这两种方法寻址的字节数都不一样,到底那种是对的?程序可以正常运行,可是却不附合datasheet上的说明,高手帮忙解答一下,因为以后可能会转用其他型号的nandflash,所以还是要把这个问题搞清楚了。 |
|
沙发#
发布于:2007-10-16 15:01
另外:读写nandflash时,我们寻址后 即发送完NF_CMD(),NF_ADDR()...NF_ADDR(),NF_CMD()后,就可以读写cpu的数据寄存器了? 很多程序里面都是用一个for循环读写nandflash的,这样不会有问题吗? 我用的是三星的2440,按照cpu的datasheet上的说明,应该是NFSTAT寄存器的R/B位有发生变化了,才说明有数据读到cpu的寄存器或者成功写入nandflash了,那么如果直接在for循环里面读写nandflash而不去判断上一次读写是否已经成功,这样会不会有问题?还是说cpu读写nandflash的过程,比c程序的执行速度快的多,根本不用考虑这个问题?
|
|
板凳#
发布于:2007-10-16 17:37
看看上面的 zhengshijie大哥写的 2K大页面NAND FLASH的WINCE5.0/4.2下的驱动源码
|
|
|
地板#
发布于:2007-10-16 21:41
源代码我下载了,正在看。我手上的这个eboot,也可以正确的格式化nandflash什么的,但是我看了nandflash的datasheet,感觉datasheet上说的和程序里面的实现不一样。
|
|