linux驅動學習

2021-05-24 01:44:04 字數 491 閱讀 4979

1.在dev目錄下用ls -l檢視字元裝置,輸出第一列為c的的標識的裝置,其中有主裝置號,和次裝置號

裝置檔案對應裝置驅動,linux將每個裝置對映成為乙個檔案,如果訪問檔案,那麼對應的訪問就是相應的io驅動程式,檔案和驅動主要是通過主裝置號聯絡起來的,次裝置號就是反應了具體是那個裝置

核心中 dev_t 描述裝置號的結構體中,高12位主裝置號,低20位是次裝置號

linux如果分配主裝置號?

靜態申請和動態申請

int register_chrdev_region()

建立裝置

mknod

自動建立。、、、還不知道怎麼搞??

三種重要的資料結構。。

file ,inode ,file_operation

file 獲得檔案讀寫指標,檔案可以開啟十個,但是inode只有乙個

inode對應的物理檔案,裡面有裝置的裝置號,等資訊

file_opreations對應的檔案操作結構

Linux驅動學習

1.make時使用make arch arm cross compile arm linux gnueabihf 命令而不是make命令 2.編譯.c檔案使用arm linux gnueabihf gcc o c生產可執行檔案 3.cat proc devices 只顯示驅動的主裝置號,且是分類顯示...

linux驅動學習

驅動學習筆記 1模組載入函式 模組載入的是觸發,載入完畢後就解除安裝 static int init mymodule init void module init mymodule init 2模組解除安裝函式 模組被關閉時觸發,或者系統被關閉時觸發 static void exit mymodul...

Linux驅動學習 Linux裝置驅動概述

linux裝置驅動概述 以點亮led為例 包括應用程式 庫 作業系統 核心 驅動程式。而開發人員中 只要關注自己的那一層,相鄰層只關注介面就可以了 應用程式使用庫提供的open函式開啟led的裝置檔案 庫根據open函式傳入的引數執行 swi 指令,這是軟中斷,這條指令會引起 cpu異常,進入核心 ...