linux字元驅動開發

2021-09-17 01:46:35 字數 704 閱讀 7810

一、字元驅動:控制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的驅動框架有很多 字元裝置驅動框架 塊裝置驅動...