標籤:
Linux 驅動的代碼重用有很多種方法。可以採用標準 C程式的方式。將要重用的代碼放在其他 的檔案 (在標頭檔中聲明〉中。 如果要使用某些功能, include 相應的標頭檔即可〈這種方式稱為 靜態重用〉。也可以使用另外一種動態重用的方式,也就是一個 Linux 驅動可以使用另外←個 Linux 驅動中的資源(函數、變數、宏等〉。C或E++語言中編譯多個原始碼檔案時,如果a.c使用 Z b.c檔案中的函數,需 :要在 a.c 檔案中使用 extern 預先定義 b.i: 中的函數, extern 的作用就是告訴編譯器該 :函數的函數名、參數個數、參數類型和傳回值類型.
步驟中最關鍵的一步是編寫Makefile檔案,代碼如下:
f Makefile
obj-m. := multi_file_driver.o
multi_file_driver-y := main.。 fun. . product . .
// 或使用 make_file_driver-objs : s main.。 fun.. pr.duct
代碼矗用分為靜態和動態兩種。在上一節介紹的 方式是代碼的靜態重用,這種方式是代碼級的重用, 也就是將需要重用的代碼和使用這些代碼的使用者 放在一起進行編譯,最終產生一個可執行檔或程式 庫 C.ko、 .so 等)。 能卸載自於異常情況而導致的 Linux 驅動模組無法卸載 的情況。這些情況如下:1.初始化函數崩潰2. 卸載函數被阻塞 。
蜂鳴器的驅動原理是,蜂鳴器也稱為 PWM (脈衝寬度調製〉,基本原理是通過脈衝來控制蜂鳴器的開啟和停止。了方便,本書將蜂嗎然統稱為 PWM。 PWM 串連到了 TOUT1連接埠。PWM 驅動與 LED 驅動的實現流程類似, 可能還要簡單一些。在第8章中只是為了示範如何將一個 Linux 驅動分成多個實現檔案,才使用了比較簡單的 PWM 驅動。通過本章的學習,可以掌握 Linux 驅動常用的代碼重用方式。 除此之外,本章還介紹了一種強行卸載 Linux 驅動的方法。希望以後再實驗課上可以多多練習。
http://www.cnblogs.com/suntao123/
安卓移植和驅動開發第八章心得體會