Linux MTD系統層次
MTD(Memory Technology Device,內存技術設備)
作用:
1、建立 Flash針對Linux的統一抽象的接口。
2、文件系統與底層Flash存儲器進行了隔離。
3、無需關注是字符設備或者塊設備。
組成: www.2cto.com
由四層組成。
A、設備節點。
通過mknod在/dev目錄下建立MTD字符設備節點.
字符設備節點主設備號90;快設備節點主設備號31.
B、MTD設備層
注冊一系列file_operation函數。
C、MTD原始設備層
原始設備通用代碼和各個特定flash的數據(例如分區)
D、硬件驅動層 www.2cto.com
Flash硬件的讀、寫、擦除。
norflash: /driver/mtd/chips
nand : /driver/mtd/nand
引入MTD後,驅動工程師直接與MTD原始設備層打交道,利用其提供的接口注冊設備和分區。
重要結構mtd_info,定義了MTD的數據和操作函數。每一個分區也被認為是一個mtd_info,3個分區就有三個mtd_info結構體,這些指針被存放在mtd_table中。