迅為i.MX6ULL終結(jié)者Linux MISC驅(qū)動(dòng)運(yùn)行測(cè)試
文章目錄
1 編譯驅(qū)動(dòng)程序
2 編譯應(yīng)用測(cè)試程序
3 運(yùn)行測(cè)試
1 編譯驅(qū)動(dòng)程序
和前面章節(jié)中驅(qū)動(dòng)測(cè)試程序一樣需要一個(gè)Makefile文件,只是將obj-m的值改為beep_misc.o,Makefile文件內(nèi)容如下:
然后執(zhí)行“make”命令編譯模塊,編譯完成生成beep_misc.ko模塊文件。
2 編譯應(yīng)用測(cè)試程序
輸入如下命令編譯應(yīng)用測(cè)試程序:
arm-linux-gnueabihf-gcc -o beep_misc_test beep_misc_test.c
編譯完成后,會(huì)生成beep_misc_test可執(zhí)行文件。
3 運(yùn)行測(cè)試
啟動(dòng)開發(fā)板,將編譯好的beep_misc.ko模塊文件和beep_misc_test應(yīng)用程序拷貝到/lib/modules/4.1.15目錄下(檢查開發(fā)板根文件系統(tǒng)中有沒(méi)有“/lib/modules/4.1.15”這個(gè)目錄,如果沒(méi)有的話需要自行創(chuàng)建一下。開發(fā)板中使用的是光盤資料里面提供的busybox文件系統(tǒng),光盤資料的“i.MX6UL終結(jié)者光盤資料\08_開發(fā)板系統(tǒng)鏡像\03_文件系統(tǒng)鏡像\01_Busybox文件系統(tǒng)”目錄下)。輸入下面命令加載模塊:
驅(qū)動(dòng)加載成功后,可以在/sys/class/misc 這個(gè)目錄下看到一個(gè)名為“miscbeep”的子目錄,如圖所示:
所有的 misc 設(shè)備都屬于同一個(gè)類,/sys/class/misc 目錄下就是 misc 這個(gè)類的所有設(shè)備,每個(gè)設(shè)備對(duì)應(yīng)一個(gè)子目錄。
驅(qū)動(dòng)與設(shè)備匹配成功以后就會(huì)生成/dev/miscbeep 這個(gè)設(shè)備驅(qū)動(dòng)文件,輸入如下命令查看這個(gè)文件的主次設(shè)備號(hào):
ls /dev/miscbeep -l
結(jié)果如圖:
可以看出,/dev/miscbeep 這個(gè)設(shè)備的主設(shè)備號(hào)為 10,次設(shè)備號(hào)為 144,和我們驅(qū)動(dòng)程序里面設(shè)置的一致。
然后使用beep_misc_test應(yīng)用程序來(lái)測(cè)試一下驅(qū)動(dòng)文件,輸入下面的命令打開beep:
./beep_misc_test /dev/miscbeep 1
關(guān)閉beep使用下面的命令:
./beep_misc_test /dev/miscbeep 0
如果蜂鳴器能夠正常打開和關(guān)閉,說(shuō)明驅(qū)動(dòng)文件沒(méi)有問(wèn)題。
卸載驅(qū)動(dòng)模塊使用下面的命令:
rmmod beep_misc
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。