7 生成雜項裝置節點

2021-10-19 10:52:21 字數 1088 閱讀 9534

7.1 介紹

雜項裝置是主裝置號是10的封裝好了的裝置。

雜項裝置部分初始化檔案(強制編譯的簡單的):drivers/char/ misc.c

7.2 雜項裝置註冊檔案

1.雜項裝置註冊標頭檔案---------- include/linux/miscdevice.h

結構體miscdevice:

– .minor裝置號:一般設為misc_dynamic_minor系統自動取

– .name生成裝置節點的名稱:取其他名字都行

– .fops指向乙個裝置節點檔案,就是file_operations定義的結構體位址

2.雜項裝置核心檔案的結構體

裝置節點就是新建乙個特殊的檔案,包含檔名,開啟、關閉、其他操作的函式指標。

包含檔案結構體的標頭檔案是「include/linux/fs.h 」檔案的結構體file_operations:

必選的是引數是

– .owner一般是this_module,

– .open開啟檔案函式

– .release關閉檔案函式

這裡在必選之外使用引數(為了介紹接下來的gpio的操作)

– .unlocked_ioctl對gpio的操作,應用向底層驅動傳值

7.3 實驗:驅動程式

在probe_linux_module基礎上寫devicenode_linux_module驅動

載入驅動後在/dev中檢視是否生成了裝置節點---------讓應用程式呼叫

(從下往上看**,看呼叫的乙個函式乙個函式看)

注:生成裝置節點,和裝置註冊沒有關係,而且裝置節點名稱不需要和裝置名稱相同。一般情況下,是將裝置節點註冊放到probe中,但是放到init函式中的驅動也是有的

linux裝置驅動一般分為:字元裝置、塊裝置和網路裝置。– 雜項裝置多數是屬於字元裝置,後續我們將介紹字元裝置,雜項裝置可以理解為掛載在字元裝置上的裝置

imx6 生成 spi裝置節點

開發板需要使用spi介面,但是spi介面被touch占用,使用event進行操作。所以需要更改配置,生成spi裝置節點。參考鏈結 更改核心配置 make menuconfig 新增spi的支援,如下所示。device drivers spi support spi support spi maste...

生成裝置節點

雜項裝置的主裝置號是10,在任何linux 系統中它都是固定的。這樣雜項裝置的引入即解決了裝置號數量少的問題,又降低了使用難度,還能防止碎片化,一舉多得。雜項裝置的標頭檔案在 include linux miscdevice.h 雜項裝置註冊函式 一般在probe 中呼叫,引數是miscdevice...

dm7生成AWR報告

sp create system packages 1,dbms workload repository 建立dbms workload repository包 call dbms workload repository.awr set interval 10 設定awr的時間間隔 10分鐘 dbm...