標籤:
Linux系統將每一個驅動都映射成一個檔案.這些檔案稱為裝置檔案或驅動檔案,都儲存在/dev目中。這種設計理念使得與Linux驅動進行互動就像與普通檔案進行互動一樣容易。
由於大多數Linux驅動都有與其對應的裝置檔案, 因此與Linux驅動交換資料就變成了與
裝置檔案交換資料。例如,向Linux印表機驅動發送一個列印命令,可以直接使用C語言函數open開啟裝置檔案, 使肝 函數 oc tl 向該驅 的裝置檔案發送列印命令.
編寫linux驅動的步驟
第一步:建 Linu 驅動骨架 裝載和卸載 Linux驅動)
任何類型的 序都有 個基本的結構,例如, 謠言需要有一個入口函數 ma •. inux 驅動程
序也不例外。 Linux 核心在使用驅動時首先需要裝載驅動 在裝載過程中需要進行 初始
例如,建立設 檔案 分配記憶體位址 等。當 nux 系統退出時需要卸載 inux 驅動,在
卸載的過程中需要 放由 linux 驅動佔用的資源
第二步:註冊和登出裝置檔案
以分別使用 misc gi mis dere ter 函數建立和移除裝置檔案。
第三步:制定與驅動相關的東西‘
MOD ULE_A UTHORMODULE CE SE MOD ULE LI MODUL DES RIPT IO 等宏可以指定與驅動相關的資訊。
第四步:指定回呼函數
個驅動程式並不 定要指定所有的困調函數.回呼函數會通過相關機制進行註冊
第五步:編寫商務邏輯
linux驅動的核心部分。光有骨架和回呼函數的 Linux 驅動是沒有任何意義的。任何一個完整的 Li nux驅動都會做一些與其功能相關的工作.
第六步:編寫Makefile檔案
第七步:編譯Linux驅動程式
第八步:安裝和卸載linux驅動
編寫一個統計單詞個數驅動
- 命令建立存放 inux 驅動程式的目錄
- 建立驅動原始碼檔案
- 編寫一個 Makefile 檔案
- 編寫 Linux 驅動程式的骨架部分,Linux驅動的初始化和退出函數
- 安裝 Linux 驅動insmod word count.k
- 查看 word_count 是否成功安裝
- 卸載 Li nux 驅動
- 查看由 Linux 驅動動輸出的日誌資訊
安卓深度探索(卷一)第六章