2 6kernel 字元裝置驅動的編寫

2021-04-12 19:32:29 字數 503 閱讀 3278

這裡把寫字元裝置的過程記錄下來,以備理順思路.

1.在建立乙個字元裝置之前,首先應該獲得裝置編號----------包括主裝置號和次裝置號.

/** 大部分基本的驅動程式都要涉級三個比較重要的核心資料結構:

**file_operations

**file

** inode**/

2.用file_operations結構將得到的裝置編號與驅動程式操作聯絡起來.這個結構中每乙個欄位都必須指向驅動程式中實現特定操作的函式.對於不支援的函式可以設為null;

3.file結構[與使用者空間的file無任何關係].代表乙個檔案傳遞給在它上邊操作的函式.

4.inode,在內部表示檔案

/**file與inode的不同之處

**file表示開啟的檔案描述符,可能有多個描述符(file結構)指向同乙個檔案.但實際上他們指向的是同乙個inode. 

5.分配struct cdev *my_cdev   

初始化 my_cdev

2 6字元裝置驅動

chardev.c include include for file f op include include for copy to user include for cdev cdev init,cdev add module license gpl module author helight ...

裝置驅動例項 字元裝置驅動

在整個linux裝置驅動學習中,字元裝置驅動較為基礎。通過對它的學習,對裝置驅動進一步加深了解 cdev 結構體struct cdev 講下比較重要的成員變數 dev t dev 定義了32位的裝置號,其中12位是主裝置號,20位是從裝置號。獲取主裝置號 major dev t dev 獲取從裝置號...

字元裝置驅動

字元裝置驅動 概述 塊裝置 字元裝置以及網路裝置中塊裝置和網路裝置一般都會硬體配置完備,對於程式設計師而言,能夠更多操作的就是字元裝置。設定字元裝置的一般步驟 1.初始化硬體 2.定義fops file operations 3.申請cdev,掛載fops 3.加入cdev 函式cdev add 主...