一、字元驅動:控制com口輸出高低電平(驅動原始碼檔名稱以testdriver.c為例)
1)將testdrier.c放到核心原始碼的driver/char目錄下。
2)修改核心原始碼的driver/char目錄下的makefile , 新增objm += testdriver.o
3)在核心原始碼根目錄下執行: make modules 命令,成功後會在driver/char目錄下生成testdriver.ko
4)安裝驅動:insmod testdriver.ko
5)檢視驅動是否安裝:lsmod
6)建立裝置節點,這裡假設建立/dev/testdriver, 主裝置號為240, 次裝置號為0
mknod /dev/testdriver c 240 0
7)執行應用程式驗證驅動是否正常。
遇到的問題:
1)提示printk 為undefined symbol。
原因:這裡是因為編譯驅動的核心是自己根據核心原始碼編譯的,而開發板使用核心是使用的ok6410官方提供的
核心,所以核心不匹配。
解決方案:燒寫自己編譯生成的核心映象zimage。
2)printk列印資訊沒有輸出到控制台。
原因:printk的列印資訊分成了多個等級,預設沒有列印到控制台。
解決方案:將printk語句修改為printk("0" "列印資訊"); 後資訊成功列印到控制台。
驅動 linux裝置驅動 字元裝置驅動開發
preface 前面對linux裝置驅動的相應知識點進行了總結,現在進入實踐階段!linux 裝置驅動入門篇 linux 裝置驅動掃盲篇 fedora下的字元裝置驅動開發 開發乙個基本的字元裝置驅動 在linux核心驅動中,字元裝置是最基本的裝置驅動。字元裝置包括了裝置最基本的操作,如開啟裝置 關閉...
Linux驅動開發之字元裝置驅動例項
1 驅動標頭檔案mem dev.h ifndef memdev h define memdev h ifndef memdev major define memdev major 238 預設的mem的主裝置號 endif ifndef memdev nr devs define memdev nr...
linux核心字元裝置驅動開發
1,對驅動的理解 對於一般驅動程式來說,只需要配置控制器的暫存器就可以 但是在linux作業系統中,軟體要讓硬體辦事,就要滿足硬體的規矩,也就是按驅動框架來開發硬體驅動程式 驅動程式就要受到linux的約束,這個約束就被稱為linux驅動框架。linux的驅動框架有很多 字元裝置驅動框架 塊裝置驅動...