Linux MTD子系统(一)

MTD子系统为原始闪存设备提供抽象层,不包括具有FTL层的MMC、eMMC等。MTD设备通过字符设备接口提供I/O访问,支持ioctl和sysfs接口。内核API如mtd_read和mtd_write用于设备控制。mtdblock驱动在MTD设备上模拟块设备,但不适用于NAND闪存,因为它不处理坏块和损耗均衡。总结来说,MTD子系统是连接Flash硬件和用户层的桥梁,提供对闪存设备的控制。

mtd设备

MTD(Memory Technology Device)是内存技术设备,它为原始闪存设备(例如NAND,OneNAND,NOR 等)提供了一个抽象层。 这些不同类型的Flash都可以使用相同的API。

在这里插入图片描述

MTD设备不包括MMC,eMMC,SD,CompactFlash等设备。因为这些设备不是原始闪存,但它们内部具有Flash Translation(FTL)层,这使它们看起来像块设备, 这些设备属于Linux块设备而不是MTD。

mtd子系统接口

  • MTD字符设备-通常称为/dev/mtd0,/dev/mtd1等。 这些字符设备提供对原始闪存的I/O访问。 它们支持许多ioctl调用,用于擦除擦除块,将其标记为不良或检查擦除块是否不良,获取有关MTD设备的信息等。

  • sysfs接口,它提供有关系统中每个MTD设备的完整信息。 此接口易于扩展,并且鼓励开发人员尽可能使用sysfs接口,而不是较旧的ioctl或/proc/mtd接口。 mtd子系统的sysfs接口已在内核中进行了说明,当前可在Documentation/ABI/ testing/sysfs-class-mtd中找到。

  • /proc/mtd proc文件系统文件提供常规的MTD信息。 这是旧版界面,而sysfs界面提供了更多信息。

MTD子系统支持带有软件和硬件ECC的 raw NAND闪存,OneNAND闪存,CFI(通用闪存接口)NOR闪存以及其他类型的闪存。

MTD 内核API

MTD子系统API在inclu

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知否,知否

来一杯冰美式把

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值