註冊過程:
insmod module_name ; 載入驅動程式,執行init函式
register_chrdev(dev_major, 「module_name」, * fs )
// 檢視/proc/devices
// 建議在linux下用vi檢視,其中包含所有的裝置資訊。包括:character device(字元裝置),block device(塊裝置),network inte***ce device(網路介面裝置)。
// 這裡給出乙個表示裝置主裝置名和次裝置的例子:hda1
// hda1的意思是:hard disk a 1,即hd表示硬碟 a表示第一塊盤 1表示第一分區
mknod /dev/module_name c/b 主裝置號 次裝置號
rmmod module_name ; 解除安裝驅動,執行 exit函式
unregister_chrdev(dev_major, 「module_name」, * fs )
對以上主要用到的幾個函式進行解釋:
linux指令:insmod——載入模組
insmod 就是install module的縮寫
功能說明:載入模組。
語法:insmod [-fkmpsvxx][-o 《模組名稱》][模組檔案][符號名稱 = 符號值]
說明:linux有許多功能是通過模組的方式,在需要時才載入kernel。如此可使kernel較為精簡,進而提高效率,以及保有較大的彈性。這類可載入的模組,通常是裝置驅動程式。
引數:-f 不檢查目前kernel版本與模組編譯時的kernel版本是否一致,強制將模組載入。
-k 將模組設定為自動卸除。
-m 輸出模組的載入資訊。
-o《模組名稱》 指定模組的名稱,可使用模組檔案的檔名。
-p 測試模組是否能正確地載入kernel。
-s 將所有資訊記錄在系統記錄檔案中。
-v 執行時顯示詳細的資訊。
-x 不要匯出模組的外部符號。
-x 匯出模組所有的外部符號,此為預設值。
linux指令:mknod——建立裝置檔案
用法:1、mknod
name major minor
2、mknod name
只能由 root 使用者或系統組成員執行
解釋:mknod 命令建立乙個目錄項和乙個特殊檔案的對應索引節點。第乙個引數name 代表的是裝置的名稱。選擇乙個描述性的裝置名稱。
第一項中,mknod 只能由 root 使用者或系統組成員執行。使用b 或 c 標誌。b 標誌表示這個特殊檔案是面向塊的裝置(磁碟、軟盤或磁帶)。c 標誌表示這個特殊檔案是面向字元的裝置(其他裝置)。major 指定主裝置的數目,它幫助作業系統查詢裝置驅動程式**,minor指定次裝置的數目,也就是單元驅動器或行號,它們是十進位制或八進位制的。乙個裝置的主要和次要編號由該裝置的配置方法分配,它們儲存在 odm 中的 cu***r 類裡。在這個物件類中定義了主要和次要編號以確保整個系統裝置定義的一致性。
第二項中,使用了 p 標誌來建立 fifo(已命名的管道)。
例如:我已經建立了乙個虛擬字元裝置,名字為gobalvar,其主裝置號是254,次裝置號是0,
則命令為:mknod /dev/globalvar c 254 0
linux指令:rmmod——刪除模組。
rmmod 就是remove module的縮寫
功能說明:刪除模組。
語法:rmmod [-as][模組名稱...]
補充說明:執行rmmod指令,可刪除不需要的模組。linux作業系統的核心具有模組化的特性,應此在編譯核心時,務須把全部的功能都放如核心。你可以將這些功能編譯成乙個個單獨的模組,待有需要時再分別載入它們。
參 數:
-a 刪除所有目前不需要的模組。
-s 把資訊輸出至syslog常駐服務,而非終端機介面。
註冊驅動MySQL的驅動程式
1.將驅動程式檔案新增到應用專案 將驅動程式mysql connector j a 5.1.6 bin,複製到web應用程式的web inf lib下,web應用程式就可以通過jdbc介面訪問mysql資料庫了。2.載入註冊指定的資料庫驅動程式 對於mysql資料庫,其驅動程式載入格式 class....
Linux字元裝置驅動程式的註冊
字元設各是 linux 中最簡單的裝置。在linux中,字元設各是用乙個叫做字元裝置結構的資料結構char device struct來描述的。為了管理上的方便,系統維護了乙個陣列chrdevslj,該陣列的每一項都代表乙個字元沒各。在檔案linux fs char dev.c中定義的char de...
登錄檔中的驅動程式資訊
作業系統和驅動程式將關於驅動程式和裝置的資訊儲存在登錄檔中。總的來說,驅動程式應使用登錄檔儲存機器重啟動後仍必須維護的資料。此外,驅動程式可以訪問登錄檔以獲得系統或者其他程式或者驅動程式儲存在其中的資訊。以下的登錄檔中的樹是驅動程式開發者特別感興趣的 這裡 hklm 代表hkey local mac...