MISC裝置和char裝置

2021-05-23 21:05:19 字數 642 閱讀 2922

雜項裝置(misc device)

雜項裝置也是在嵌入式系統中用得比較多的一種裝置驅動。在 linux 核心的include/linux目錄下有miscdevice.h檔案,要把自己定義的misc device從裝置定義在這裡。其實是因為這些字元裝置不符合預先確定的字元裝置範疇,所有這些裝置採用主編號10 ,一起歸於misc device,其實misc_register就是用主標號10呼叫register_chrdev()的。

也就是說,misc裝置其實也就是特殊的字元裝置。

字元裝置(char device)

使用register_chrdev(led_major,device_name,&dev_fops)註冊字元裝置驅動程式時,如果有多個裝置使用該函式註冊驅動程式,led_major不能相同,否則幾個裝置都無法註冊(我已驗證)。如果模組使用該方式註冊並且 led_major為0(自動分配主裝置號 ),使用insmod命令載入模組時會在終端顯示分配的主裝置號和次裝置號,在/dev目錄下建立該節點,比如裝置leds,如果載入該模組時分配的主裝置號和次裝置號為253和0,則建立節點:mknod leds c 253 0。使用register_chrdev (led_major,device_name,&dev_fops)註冊字元裝置驅動程式時都要手動建立節點 ,否則在應用程式無法開啟該裝置

misc雜項裝置驅動

linux裡面的misc雜項裝置是主裝置號為10的驅動裝置,它的註冊跟使用比較的簡單,所以比較適用於功能簡單的裝置。它有自己的裝置結構體 struct miscdevice 它在標頭檔案linux miscdevice.h裡面有定義,其中minor是misc裝置的副裝置號,misc裝置主要依賴min...

字元裝置驅動之LED 混雜裝置驅動(misc)

misc led.c include include include include include include include include include include include static volatile unsigned long gpfcon volatile unsig...

LED驅動 misc裝置驅動例項

作為misc裝置驅動的乙個例項,我選擇最簡單的led的驅動。下面簡要記錄下led驅動的編寫和實驗過程。1 建立資料夾led 2 在led資料夾下編寫led驅動程式leds.c include include include include include include include includ...