当前位置: 代码迷 >> 驱动开发 >> linux下nandflash解决思路
  详细解决方案

linux下nandflash解决思路

热度:50   发布时间:2016-04-28 11:08:04.0
linux下nandflash
有没有办法知道nandflash的大小以及已使用的nandflash,
小弟刚接触。也不知这样问对不对

------解决方案--------------------
看datasheet
------解决方案--------------------
nandflash用来存储程序(又称烧写程序),所以,大小可以看手册,用了多少是用户自己知道的
------解决方案--------------------
看芯片手册。有这方面的。
------解决方案--------------------
看手册是最直接的方法。。。
------解决方案--------------------
据我所知,有两个方法得到大小:
第一个方法,通过/proc/mtd获取,cat /proc/mtd会得到
# cat /proc/mtd
dev: size erasesize name
mtd0: 00200000 00010000 "flash1"
mtd1: 00080000 00010000 "flash2"
·······
size * 1024 即为NAND Flash大小
第二个方法,用ioctl。
ioctl(Fd,MEMGETREGIONCOUNT,&regcount)
ioctl(Fd, MEMGETREGIONINFO, &reginfo)
具体看mtd_utils中的flash_info.c

关于求剩余大小,这个。。。
有文件系统的话,mount后,用statfs获取。
没有文件系统的话,不知道了,会不会是打开设备,然后依次读出其中block,判断多少block是不为空FF,然后再计算。这个楼主可以试试啦~
------解决方案--------------------
lz 手册
------解决方案--------------------
nandflash大小看手册。
使用了多少,可以使用命令查看。