MTD是干什么的

    MTD(memory technology device 存储 技术设备 ) 是用于访问 memory 设备( ROM 、 flash )的 Linux 的子系统。

    先来看一个图:

        FLASH是嵌入式设备最常用的介质,FLASH有一个特性,它不能像PC机使用的磁盘一样可以重复写一个单元的数据。FLASH必须事先擦除然后再写入。这个特性使得PC机上的文件系统如FAT/NTFS/Ext等不能直接使用到FLASH上。所以FLASH设备上的JFFS和YAFFS等嵌入式文件系统诞生了,MTD设备层位于文件系统和FLASH硬件驱动层之间,它是一个桥梁。有了MTD,从文件系统编写者的角度看,他无须关心使用了何种类型的FLASH,甚至是其它类型的存储介质,他只调用MTD提供的接口;从硬件驱动编写者的角度看,他无须关心使用了何种文件系统,他只要编写少量的与MTD接口的代码,甚至不用写一行代码,也能使用新加入的FLASH工作,因为MTD本身就提供了很多驱动代码,这正是MTD设计者的英明之处。

        如果在嵌入式linux中使用传统的PC机文件系统FAT/NTFS/Ext,那么需要加一个转换层,也就是上图中FTL/NFTL。FTL是Flash translation layer的缩写,它应用于Nor falsh。NFTL是NandFlash translation layer的缩写,它应用于Nand Flash。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值