Android深度探索(卷1)HAL与驱动开发第六章总结
生活随笔
收集整理的這篇文章主要介紹了
Android深度探索(卷1)HAL与驱动开发第六章总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
操作系統是通過各種驅動程序賴家與硬件設備的,它為用戶屏蔽了各種各樣的設備,驅動硬件是操作系統最基本的功能,并且提供統一的操作方式。設備驅動程序是操作系統最基本的組成部分之一,在Linux內核源程序中也占有60%以上,因此熟悉驅動的編寫很重要。
Linux系統將每一個驅動都映射成一個文件。這些文件稱為設備文件或驅動文件,都存在/dev目錄中。這樣,在應用程序看來,硬件設備只是一個設備文件,應用程序可以像操作普通文件一樣對硬件設備進行操作,從而大大方便了對設備的處理。
編寫驅動程序的步驟:
(1)建立Linux的驅動骨架(裝載和卸載Linux驅動)任何類型的程序都有一個基本結構,linux驅動程序也不例外。Linux內核在使用驅動時首先需要裝載驅動。在裝載過程中也需要進行一些初始化的工作。
(2)注冊和注銷設備文件
任何一個linux驅動都需要一個設備文件,否則應用程序將無法與驅動程序交互。
(3)指定與驅動相關的信息
驅動程序是自描述的。
(4)指定回調函數
一個驅動程序并不一定要指定所有的回調函數。
(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?等? http://home.cnblogs.com/u/zivjeli/
Linux系統將每一個驅動都映射成一個文件。這些文件稱為設備文件或驅動文件,都存在/dev目錄中。這樣,在應用程序看來,硬件設備只是一個設備文件,應用程序可以像操作普通文件一樣對硬件設備進行操作,從而大大方便了對設備的處理。
編寫驅動程序的步驟:
(1)建立Linux的驅動骨架(裝載和卸載Linux驅動)任何類型的程序都有一個基本結構,linux驅動程序也不例外。Linux內核在使用驅動時首先需要裝載驅動。在裝載過程中也需要進行一些初始化的工作。
(2)注冊和注銷設備文件
任何一個linux驅動都需要一個設備文件,否則應用程序將無法與驅動程序交互。
(3)指定與驅動相關的信息
驅動程序是自描述的。
(4)指定回調函數
一個驅動程序并不一定要指定所有的回調函數。
(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?等? http://home.cnblogs.com/u/zivjeli/
轉載于:https://www.cnblogs.com/qian950609/p/5574017.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Android深度探索(卷1)HAL与驱动开发第六章总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux抓包工具tcpdump命令详解
- 下一篇: Android系统服务-WindowMa