MTD(Memory Technology Device,内存技术设备) 作用:
1、建立 Flash针对Linux的统一抽象的接口。
2、文件系统与底层Flash存储器进行了隔离。
3、无需关注是字符设备或者块设备。
组成:
由四层组成。
A、设备节点。
通过mknod在/dev目录下建立MTD字符设备节点.
字符设备节点主设备号90;快设备节点主设备号31.
B、MTD设备层
注册一系列file_operation函数。
C、MTD原始设备层
原始设备通用代码和各个特定flash的数据(例如分区)
D、硬件驱动层
Flash硬件的读、写、擦除。
norflash: /driver/mtd/chips
nand : /driver/mtd/nand
引入MTD后,驱动工程师直接与MTD原始设备层打交道,利用其提供的接口注册设备和分区。
重要结构mtd_info,定义了MTD的数据和操作函数。每一个分区也被认为是一个mtd_info,3个分区就有三个mtd_info结构体,这些指针被存放在mtd_table中。
阅读(444) | 评论(0) | 转发(0) |