Linux驅動程序

操做系統是經過各類驅動程序賴家與硬件設備的,它爲用戶屏蔽了各類各樣的設備,驅動硬件是操做系統最基本的功能,而且提供統一的操做方式。設備驅動程序是操做系統最基本的組成部分之一,在Linux內核源程序中也佔有60%以上,所以熟悉驅動的編寫很重要。java

Linux系統將每個驅動都映射成一個文件。這些文件稱爲設備文件或驅動文件,都存在/dev目錄中。這樣,在應用程序看來,硬件設備只是一個設備文件,應用程序能夠像操做普通文件同樣對硬件設備進行操做,從而大大方便了對設備的處理。linux

編寫驅動程序的步驟:android

(1)創建Linux的驅動骨架(裝載和卸載Linux驅動)任何類型的程序都有一個基本結構,linux驅動程序也不例外。Linux內核在使用驅動時首先須要裝載驅動。在裝載過程當中也須要進行一些初始化的工做。算法

(2)註冊和註銷設備文件ubuntu

任何一個linux驅動都須要一個設備文件,不然應用程序將沒法與驅動程序交互。eclipse

(3)指定與驅動相關的信息函數

驅動程序是自描述的。測試

(4)指定回調函數ui

一個驅動程序並不必定要指定全部的回調函數。操作系統

(5)編寫業務邏輯

(6)編寫Makefile文件

(7)編寫Linux驅動程序

(8)安裝和卸載Linux驅動

1.準備工做

創建存放Linux驅動程序的目錄

創建驅動源代碼文件

編寫一個makefile文件

2. 編寫linux驅動程序的骨架(初始化和退出驅動)

安裝linux驅動

查看word_count是否成功安裝

卸載linux驅動

查看由驅動輸出的日誌信息

3. 指定與驅動相關的信息

模塊做者,模塊描述,模塊別稱,開源協議

4. 註冊和註銷設備文件

5.指定回調函數

6.實現統計單詞數的算法

7.編譯、安裝、卸載linux驅動程序

測試linux驅動

使用ubuntu linux測試

在android模擬器上經過原聲(native)C程序測試

使用android NDK測試

使用java代碼直接操做設備文件測試

使用S3C6410開發板測試

將驅動編譯進linux內核進行測試

使用eclipse開發和測試linux驅動

1.創建c工程

2.創建c源代碼文件鏈接

3.設置include路徑

4.編譯linux驅動

在eclipse中測試linux驅動

1.導入test_word_count.c文件

2.設置include路徑

3.創建targe

4.build工程

5.運行測試程序

須要注意的是,用戶空間與內核空間完成一樣或相似的功能的函數,宏等資源的名稱並不必定相同,有的名稱相似如:malloc和kmalloc ,有的不一樣如:atoi和simple_strol 等

相關文章
相關標籤/搜索