platform 平台驱动——设备的写作流程
說(shuō)明:在內(nèi)核源碼里會(huì)有很多已經(jīng)實(shí)現(xiàn)的驅(qū)動(dòng),對(duì)于我們來(lái)說(shuō)只需要寫(xiě)好設(shè)備文件即可,但是我們?nèi)绾沃莉?qū)動(dòng)需要那些數(shù)據(jù),以及有哪些驅(qū)動(dòng)呢?
解決:
1.首先在內(nèi)核源碼目錄下執(zhí)行執(zhí)行菜單配置命令:
make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-??
產(chǎn)生菜單如下
?
2.然后進(jìn)入要用到驅(qū)動(dòng),如我要編譯按鍵驅(qū)動(dòng),所以在? Device Drivers/ Input device support? /Keyboards/GPIO BUTTON ,選中后編譯<*>進(jìn)內(nèi)核,然后我們寫(xiě)device數(shù)據(jù)即可。但是我們?cè)趺粗莉?qū)動(dòng)需要用哪些數(shù)據(jù)呢?
3.我們可以在GPIO BUTTON下選擇下面的Help,可以查看驅(qū)動(dòng)代碼的存放路徑,如圖:
4.有上圖可以看到驅(qū)動(dòng)文件在源碼下的路徑為? drivers/input/keyboard/? ,但是下面有很多文件,具體在哪里呢?
5.在源碼目錄下打開(kāi)上面路徑下的Makefile文件,命令:vim drivers/input/keyboard/Makefile? ,在里面搜索上面 的宏? KEYBOARD_GPIO,結(jié)果如下
6.其中g(shù)pio_keys.c即是按鍵驅(qū)動(dòng)文件,
7.進(jìn)去后查看probe函數(shù)和對(duì)應(yīng)的結(jié)構(gòu)體,寫(xiě)device文件。
8.設(shè)備文件加載后,可以通過(guò)命令 “cat??? /proc/bus/input/device"? 查看有沒(méi)有標(biāo)準(zhǔn)輸入事件
9.通過(guò)?? "exec?? 0</dev/tty1"? 來(lái)在終端進(jìn)行測(cè)試,測(cè)試完成后需要重啟板子才可以恢復(fù)。
轉(zhuǎn)載于:https://www.cnblogs.com/edan/p/9235378.html
總結(jié)
以上是生活随笔為你收集整理的platform 平台驱动——设备的写作流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Salesforce 数据备份和恢复小知
- 下一篇: 1.初次运行git前的配置