在我的AT91SAM9RL-EK ARM板上運行Linux 2.6.30 buildroot,我有以下幾點。來自Linux的嵌入式系統中斷/硬件處理
cat /proc/interrupts
CPU0
1: 6475 AIC at91_tick, rtc0, ttyS0
10: 11 AIC mmc0
13: 4 AIC atmel_spi.0
18: 23533 AIC tc_clkevt
20: 0 AIC atmel_tsadcc
22: 0 AIC atmel_usba_udc
23: 0 AIC atmel_lcdfb
24: 0 AIC AC97C
40: 1 GPIO atmel_usba_udc
47: 0 GPIO mmc0
64: 6 GPIO Right Click
65: 10 GPIO Left Click
右鍵和左鍵單擊是我的主板上的按鈕。現在我想修改按鈕的中斷處理程序(例如,單擊時它們會給我一個輸出)。
我在哪裏可以找到按鈕的中斷處理程序或驅動程序(或它們的源文件)?
或者我可以編寫自己的驅動程序並註冊它們(當我在用戶空間中)按鈕時,以及如何操作?
這是董事會的一些數據指導對PIO
IO... Per.... Application Usage............................................ Pow. by
PB0 TXD3 USER’S PUSH BUTTON 1 PB0 as LEFT CLICK VDDIOP
PB1 RXD3 USER’S PUSH BUTTON 2 PB1 as RIGHT CLICK VDDIOP
有一點更多信息,將不勝感激。在另一個評論你說,「按鈕工作正常」。大多數情況下,GPIO已經被註冊爲輸入設備,它們有一個自定義驅動程序,或者通過gpiolib(/ sys/class/gpio)向用戶空間提供狀態(和邊緣觸發)。 – kauppi
在fs上,gpio-keys位於/ sys/bus/platform/devices/leds-gpio /和sys/class/input/input0 /中,但我不知道如何與它們通信 – Gobliins
'#ls input0:功能id名稱子系統設備輸入:event0 phys uevent event0 modalias power uniq' – Gobliins