|
文章目錄 1 編譯驅動程序 2 編譯應用測試程序 3 運行測試 1 編譯驅動程序 和前面章節中驅動測試程序一樣需要一個Makefile文件,只是將obj-m的值改為key_irq.o,Makefile文件內容如下:
首先我們在終端輸入兩個命令(設置兩個環境變量):
然后執行“make”命令編譯模塊,編譯完成生成key_irq.ko模塊文件。 2 編譯應用測試程序 輸入如下命令編譯應用測試程序: arm-linux-gnueabihf-gcc -o key_irq_test key_irq_test.c 編譯完成后,會生成key_irq_test可執行文件。 3 運行測試 啟動開發板,將編譯好的key_irq.ko模塊文件和key_irq_test應用測試程序拷貝到/lib/modules/4.1.15目錄下(檢查開發板根文件系統中有沒有“/lib/modules/4.1.15”這個目錄,如果沒有的話需要自行創建一下。開發板中使用的是光盤資料里面提供的busybox文件系統,光盤資料的“i.MX6UL終結者光盤資料\08_開發板系統鏡像\03_文件系統鏡像\01_Busybox文件系統”目錄下)。輸入下面命令加載模塊:
驅動加載成功以后可以通過查看/proc/interrupts 文件來檢查一下對應的中斷有沒有被注冊上,輸入如下命令:
可以看到KEY0 中斷已經存在了,觸發方式為跳邊沿(Edge),中斷號為 49。
按鍵值獲取成功,并且不會有按鍵抖動導致的誤判發生,說明按鍵消抖工作正常。 在卸載驅動之前需要先關閉key_irq_test應用程序,使用“ps”命令查看key_irq_test進程的PID號,然后使用“kill xxx”殺死key_irq_test進程。 卸載驅動模塊文件命令: rmmod key_irq |