混雜裝置驅動模型

2021-07-04 22:37:18 字數 581 閱讀 6112

在linux系統中,存在一類字元裝置,它們擁有相同的主裝置號10,但次裝置號不同,我們稱這類裝置為混雜裝置(miscdevice)。所有的混雜裝置形成乙個鍊錶,對裝置訪問時核心根據次裝置號查詢到相應的混雜裝置。如果乙個字元裝置驅動要驅動多個裝置,則它不應該選用混雜裝置來實現。

linux中使用struct miscdevice來描述乙個混雜裝置,該結構定義在,因此使用時需要新增標頭檔案

struct miscdevice 

;

其中次裝置號、裝置名、檔案操作需要程式設計師在裝置驅動程式中初始化,list、parent、this_device由核心初始化。

乙個混雜裝置驅動的程式設計模型為:

①初始化結構miscdevice

②根據初始化的miscdevice 來註冊混雜裝置

③硬體初始化

④程式設計實現裝置方法

⑤登出

linux系統使用misc_register函式來註冊乙個混雜裝置驅動。

原型:int misc_register(struct miscdevice *misc)

混雜裝置驅動模型

混雜裝置,它們擁有相同的主裝置號 數字10 但次裝置號不同,我們稱這類裝置為混雜裝置 miscdevice 然後呼叫其file operations結構中註冊的檔案操作介面進行操作。對比普通字元裝置操作比較簡單 struct miscdevice 例 static struct miscdevice...

Linux 混雜裝置驅動模型

混雜裝置miscdevice是字元裝置的一種,它們共享乙個主裝置號misc major 即10 但次裝置號不同,所有的miscdevice裝置形成了乙個鍊錶,對裝置訪問時核心根據次裝置號查詢對應的miscdevice裝置。這樣做的好處,節約主裝置號,將某些裝置用鍊錶的形式鏈結在一起,最後通過查詢次裝...

12 混雜裝置驅動模型

混雜裝置驅動模型 在linux系統中,存在一類字元裝置,它們擁有相同的主裝置號 數字10 但次裝置號不同,我們稱這類裝置為混雜裝置 miscdevice 所有的混雜裝置形成乙個鍊錶,對裝置訪問時核心根據次裝置號查詢到相應的混雜裝置。一 裝置描述 linux中使用struct miscdevice來描...