韦东山Linux嵌入式课程社区
直播中

朱佳婧

7年用户 186经验值
私信 关注

裸机NandFlash控制器读取数据只要发送一次地址命令吗?


如上图所示呢,是nand_read()的代码(也就是读nand中的数据)。按照代码上来讲应该是读一页的数据。先发0x00命令,之后再发一次地址,然后发0x30命令,然后等待nandflash ,之后就可以读数据了。不过读数据是连续 读2048(或512)次,这样是不是不符合操作的时序。 标准的操作时序,不应该是每读一次数据,都要重新发送新的地址命令吗?   这两个for循环,先执行里面的for循环,也就连续读数据,之后再执行外面的for循环,所以我判断发命令和地址,也只发了一次。

回帖(4)

赵晓敏

2019-9-19 07:22:12
我想请教一下,第二个for循环里的i++,可以直接写到第一个里边吗?即for(i=start_addr; i<(start_addr+size); i++) ?
举报

汪海源

2019-9-19 07:34:05
但是写地址命令是每一页写一次的呀,
想搞也可以实现,但是这样做应该是比较正规妥当的
举报

罗宗保

2019-9-19 07:53:35
明白了,谢谢了!
举报

李玉兰

2019-9-19 08:02:31
例程中第一次(write_addr(i)中的i初始值为4096)发出的地址为4096,恰好是nandflash第三页的首地址,所以可以把第三页整页数据共2048个(8位)全部读下来,如果我第一次发出的地址不是某页的首地址比如地址4100,那能不能把第三页从地址4100到地址6143共2044个数据(8位)全部读下来呢?如果能,是不是把write_addr(i)中的i初始化为4100其他代码不变就可以吗?还是其他??
举报

更多回帖

发帖
×
20
完善资料,
赚取积分