主题 : 请问NandFlash上块页与地址是怎么对应起来的? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 62351
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2012-01-26
最后登录: 2013-06-20
楼主  发表于: 2012-10-18 11:02

 请问NandFlash上块页与地址是怎么对应起来的?

我想往NandFlash中写入数据,需要提供块号与页号,但是我以前super vivi下载镜像文件时看到NandFlash似乎已经被分好区了,那么我写入数据时是不是得避开这些区,另外,supervivi上显示这些区都与地址相对应,我想知道在操作nandflash时怎样知道它的块与页所对应的地址?我google了一下,有人说查datasheet,但我查了一遍还是不懂,求高人指点!!
级别: 新手上路
UID: 62351
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2012-01-26
最后登录: 2013-06-20
1楼  发表于: 2012-10-18 15:52

 Re:回 楼主(wuqi1003) 的帖子

引用第1楼kasim于2012-10-18 12:28发表的 回 楼主(wuqi1003) 的帖子 :
希望这份介绍对你有帮助
http://blog.sina.com.cn/s/blog_699eead70100ltx3.html



版主大人,我学习了一下您提供的博文,我大概算一下,您看看我想的对不对。
假设以K9F1G08这款NandFlash芯片为例,该片有1024个块,每块64个页,每页(2K+64)个字节。
现在求块号为6、页号为25的页起始地址?

因为每页有2k+64个字节,所以column address需要12个bit来寻址,2K+64 = 1000 0100 0000。
因为有halfPage的问题,所以空出一个bit,到现在为止已经有13个bit了。
因为每块有64个页,所以需要6个bit来寻址,第25页是011001.
因为共有1024个块,所以需要10个bit来寻址,第6块是00 0000 0110.
放在一起就是0000000110 011001 0 1000 0100 0000 ,
分一下是  0 0000 0011 0011 0010 1000 0100 0000。
转换为16进制就是0x00332840,是这样的吧?
版主帮忙算一算吧,有劳了,先谢谢啦!
[ 此帖被wuqi1003在2012-10-18 16:02重新编辑 ]