理解常用知識點
①:linux驅動開發是核心級別的開發,驅動程式的任何問題都可能引起整個系統的崩潰
②:驅動程式通常都要進行中斷處理
④:驅動程式是被動接受上層呼叫的**,是為上層提供服務的一套**,所以我們會在驅動中看到很多註冊和登出的函式
⑤:一類驅動都有乙個特定的實現模板,在這裡姑且稱為驅動的框架
⑥:linux的核心原始碼編譯後將會生成乙個總的映象,將該映象載入到記憶體中並執行之
⑦:學習一類驅動,就是學習它的核心資料結構和一組api
⑧:.ko檔案即 kernel object檔案(核心模組),該檔案的意義就是把核心的一些功能移動到核心的外邊,需要的時候插入核心,不需要的時候解除安裝核心
⑨:elf檔案 是一種目標檔案格式,用於定義不同型別目標檔案以什麼樣的格式,都放了些什麼東西,主要用於linux平台,windows下是pe/coff格式。 可執行檔案、可重定位檔案(.o)、共享目標檔案(.so)、核心轉儲檔案都是以elf檔案格式儲存的。
elf檔案組成部分:檔案頭、段表(section)、程式頭
⑩:模組載入 insmod 載入指定目錄下的乙個.ko檔案到核心
modprobe:自動載入模組到核心,相對於insmod來講更智慧型,前提條件是模組要執行安裝操作,使用該命令前最好執行一次
depmod 命令來更新模組的依賴資訊。
modinfo:檢視模組的資訊,在安裝了模組並執行depmod命令後,可以不指定路徑和字尾,也可以指定檢視某一特定.ko檔案的模組資訊
dmesg :檢視列印資訊
rmmod :模組解除安裝 cleanup module 是解除安裝模組是呼叫的模組清除函式
Linux驅動開發學習筆記
一 linux裝置驅動基礎 基於linux2.6核心 參考 linux device drivers 3rd edition linux kernel有乙個很好的特性,可以支援在執行是進行擴充套件。這意味著系統啟動執行是,我們仍然可以向kernel新增功能。這種執行時可以被新增到kernel的 稱為...
Linux驅動開發學習(一)
1.軟體驅動 驅動硬體,使硬體處於某種工作模式,提供控制硬體方法 2.驅動的地位 驅動是連線核心與裝置的橋梁 1.字元裝置 字元裝置驅動 字元裝置檔案 2.網路裝置 網路裝置驅動 3.塊裝置 塊裝置驅動 塊裝置檔案 1.驅動編寫 2.驅動編譯 3.驅動使用 三要素 1.入口 載入 module in...
Linux裝置驅動開發學習步驟
最近在學習這個linux裝置驅動開放這一塊,因為是自學的所以摸不到頭緒,經過一段時間的摸索,現在又了一點認識,所以我在這裡就來寫一下 1.學會寫簡單的makefile 2.編一應用程式,可以用makefile跑起來 3.學會寫驅動的makefile 4.寫一簡單char驅動,makefile編譯通過...