mtd是各種型別儲存裝置的抽象,是介於高層抽象和底層物理硬體之間的橋梁,它遮蔽了底層硬體的技術細節,對上層模組提供無差別的訪問控制。分析mtd部分的**就不難發現,mtd採用3層設計思路,最上面一層用於和塊裝置層對接、中間層是mtd實現,最底層是硬體驅動層。
mtd下層註冊介面為mtd_device_register,現有支援mtd架構的裝置型別包括:cfi、jedec、absent(假裝置)、ram、rom、lpddr介面裝置、nand裝置。
mtd層向塊裝置層註冊的介面為register_mtd_blktrans,現在支援的包括flash translation layer, used on pcmcia devices、inverse flash translation layer等;
既然mtd是整個架構的核心,那麼首先來看struct mtd_info這個結構體;
struct mtd_info ;
Linux核心MTD子系統六之分割槽介紹
其實本來乙個硬碟分割槽中是沒有什麼主分割槽,擴充套件分割槽和邏輯分割槽的概念的,每個分割槽的型別呢都是所謂的主分割槽。但是,由於硬碟僅僅為分割槽表預留了64個位元組的儲存空間,而每個主分割槽的引數佔據16個位元組,這個意思就是說總共只能儲存4個分割槽的資料,意思就是,一塊兒物理硬碟只能劃分為4個主分...
linux驅動子系統 SCSI
scsi初始化流程 1 首先如果驅動核心發現了1個scsi控制器,則呼叫scsi host alloc建立scsi中間層的代表例項 2 呼叫scsi add host新增建立的scsi例項到scsi中間層 3 呼叫scsi scan host掃瞄scsi控制器下面的scsi裝置 4 探測到的scsi...
linux驅動子系統 PCI
pci子系統的關鍵概念包括 pci裝置 pci插槽 pci域 pci匯流排 pci橋 熱插拔控制器 pci裝置探測流程 linux啟動過程中會呼叫pci核心的探測函式進行pci裝置的探測,並建立起相關的拓撲關係以及記錄每個探測到的裝置的資訊 探測採用遞迴的方式從根控制器開始逐級往下探測,遇到橋控制器...