当前位置: 技术问答>linux和unix
nand flash驱动
来源: 互联网 发布时间:2016-12-13
本文导语: 我想问对于nand flash驱动linux内核是怎么做的,是不是实现了file_operation结构体可以让应用层调用。如果没有实现的话那应用层又是通过什么来读写nand flash的?对于字符驱动为什么没有probe函数也可以用而块设备驱动要...
我想问对于nand flash驱动linux内核是怎么做的,是不是实现了file_operation结构体可以让应用层调用。如果没有实现的话那应用层又是通过什么来读写nand flash的?对于字符驱动为什么没有probe函数也可以用而块设备驱动要实现probe函数,还是说只要和pci总线相关的就应该实现probe函数,小弟新手望高手指点。
|
市面上大部门的Nand flash驱动在Linux中已经包括了,你只需要在编译的时候包含进去就可以了。flash设备对应的是驱动的MTD设备,你可以driversmtdnand下找到你需要的驱动。如果实在没有,就照着某个驱动改一下就行了。
应用程序肯定是通过read/write操作访问nand flash的,但nand flash采用的文件系统与普通的磁盘文件系统或者内存文件系统不太一样,一般都是针对nand flash的物理特性优化的,常用的如JFFS2, YAFFS等。
probe函数并不是针对块设备或者字符设备的,也就是说,不管何种设备,都有可能有probe函数。往往那种热插拔的,或者总线方式的设备会有probe函数,例如USB设备,SATA设备,以太网等等。
应用程序肯定是通过read/write操作访问nand flash的,但nand flash采用的文件系统与普通的磁盘文件系统或者内存文件系统不太一样,一般都是针对nand flash的物理特性优化的,常用的如JFFS2, YAFFS等。
probe函数并不是针对块设备或者字符设备的,也就是说,不管何种设备,都有可能有probe函数。往往那种热插拔的,或者总线方式的设备会有probe函数,例如USB设备,SATA设备,以太网等等。
|
nandflash驱动在linux内核中属于块设备驱动,和字符设备不一样。
probe是平台类设备的挂载,字符设备也可以不借助平台类设备挂载那一套流程而直接初始化注册,块设备也一样
/drivers/mtd/nand中的驱动基本涵盖所有,如果需要移植,参照你手中nandflash的手册,调整读取方式,地址,时序等就基本可以搞定。
probe是平台类设备的挂载,字符设备也可以不借助平台类设备挂载那一套流程而直接初始化注册,块设备也一样
/drivers/mtd/nand中的驱动基本涵盖所有,如果需要移植,参照你手中nandflash的手册,调整读取方式,地址,时序等就基本可以搞定。
|
帮顶一下