標籤:
《Android深度探索》第六章講的是第一個Linux驅動程式:統計單詞個數。1.編寫Linux驅動程式的步驟:第1步:建立Linux驅動骨架(裝載和卸載Linux驅動),這兩個函數分別用module_init和module_exit宏指定;第2步:註冊和登出裝置檔案分別使用misc_register和misc_deresiger函數建立和移除裝置檔案;第3步:指定與驅動相關的資訊,通過MODULE_AUTHOR、MODULE_LICENSE、MODULE_ALIAS、MODULE_DESCRIPTION等宏可以指定與驅動相關的資訊;第4步:指定回呼函數,一個驅動程式不一定要指定所有的回呼函數,回到函數會通過相關機制進行註冊;第5步:編寫商務邏輯;第6步:編寫Makefile檔案;第7步:編譯Linux驅動程式;第8步:安裝和卸載Linux驅動。2.測試Linux驅動方式:使用Ubuntu Linux測試Linux驅動、使用Android NDK測試Linux驅動、使用Java代碼直接操作裝置檔案來測試Linux驅動、使用S3C6410開發板上運行可執行程式測試Linux驅動、將驅動編譯進核心進行測試。3.在Eclipse中開發Linux驅動程式:第1步:建立C工程;第2步:建立C原始碼檔案連結;第3步:設定include路徑;第4步:編譯Linux驅動。4.在Eclipse中測試Linux驅動:第1步:匯入test_word_count.c檔案;第2步:設定include路徑;第3步:建立Target;第4步:Build工程;第5步:運行測試程式。
通過對第六章的學習,我知道了Linux系統將每一個驅動都映射成一個檔案。這些檔案稱為裝置檔案或驅動檔案,都儲存在/dev目錄中。這種設計理念使得與Linux驅動進行互動就像與普通檔案進行互動一樣容易。當然,也比訪問Linux API更容易。由於大多數Linux驅動都有與其對應的裝置檔案,因此與Linux驅動交換資料就變成了與裝置檔案交換資料。編寫Linux驅動最重要的一步就是編寫回呼函數,否則與裝置檔案互動的資料將無法得到處理。可以直接使用Ubuntu Linux測試Linux驅動,有很多驅動只要再利用相應的Linux核心編譯一遍,就可以直接安裝在Android、Linux等嵌入式系統中。當然,也可以在Android模擬器、開發板甚至手機上測試Linux驅動。為了更快地開發Linux驅動,也可以考慮採用Eclipse整合式開發環境。
《Android深度探索》第六章心得體會