首先usb鍵盤驅動的源**位於一下目錄:
drivers/usb/input/usbkbd.c
將usb鍵盤驅動編譯進核心:
#make menuconfig
device drivers--->usb support---->usb hidbp keyboard (****** boot) support
(注意:有可能預設設定usb鍵盤驅動是不可見的,需修改當前目錄下的kconfig檔案,在此不做詳細介紹,kconfig語法有待進一步熟悉:))
儲存設定後,重新編譯核心:
#source setenv
#make uimage
uimage生成後位於目錄:arch/arm/boot/uimage;
(或者直接將usb鍵盤驅動編譯為驅動模組,進行載入也可);
啟動系統後,確定usb鍵盤載入到了那個裝置檔案,一般為/dev/input/event0裝置,可通過cat命令進行確認:
#cat /dev/input/event0
操作usb鍵盤,會有亂碼出現;
然後應用層用這個程式來獲取usb鍵盤的輸入:
#include
#include
#include
#include
struct input_event buff;
int fd;
int read_nu;
int main(int argc, char *argv)
int i = 0;
printf("--fd:%d--\n",fd);
while(1)
//if(buff.code > 40)
printf("type:%d code:%d value:%d\n",buff.type,buff.code,buff.value);
//#if 0
//i++;
//if(i > 12)
// //#endif
} close(fd);
return 1;
}執行程式後,按下a鍵,可見如下輸出:
--fd:3--
type:1 code:30 value:1
type:0 code:0 value:0
嵌入式Linux下基於libusb的USB驅動開發
由於usb裝置的普遍性及其多樣性,大量的usb裝置的驅動開發也就成為開發者做的最多的事情。linux平台上,核心驅動的開發由於核心的複雜和版本問題,初學者難以入手,驅動程式也不易公升級和維護。本文主要介紹linux平台下使用libusb庫基於usb檔案系統的驅動開發,並將其應用到嵌入式系統中,可顯著...
嵌入式linux下如何使用usb鍵盤
首先usb鍵盤驅動的源 位於一下目錄 drivers usb input usbkbd.c 將usb鍵盤驅動編譯進核心 make menuconfig device drivers usb support usb hidbp keyboard boot support 注意 有可能預設設定usb鍵盤...
嵌入式linux如何學習
俗話說萬事開頭難 然後中間難,最後難?剛開始的時候,你是否根本就不知如何開始,上網查資料被一堆堆新名詞搞的找不到北,去圖書館看書也是找不到方向?又是arm,又是linux,又是uboot頭都大了。不知道自己究竟從 開始?嵌入式linux如何學習 簡單說,從arm基礎知識到裸機程式設計,從ucosii...