http://www.ithao123.cn/content-8326816.html
最近在做按键驱动中断的实现,按照我的中断处理程序,按下按键后应该会打印出“key down!”但刚开始怎么弄都弄不出来,后来查看了中断号,cat /proc/interruprts ,发现四个按键驱动在内核编译时已经被占用,这时候想到要重新编译内核,取消已经编译的按键驱动,在这和大家分享一下!
首先,进入内核源代码目录,用make menuconfig ARCH=arm ,重新配置内核,然后搜索关键字“KEY”或“button”,会出现如下界面:
![](http://www.ithao123.cn/uploads02/u02/a8/90/a890620ec8e0e644829ae25e40d07655.jpg)
然后进入提示的目录里,会看到如下界面:
![](http://www.ithao123.cn/uploads02/u02/c4/ca/c4ca932c21053603057635f4ab106272.jpg)
当然这里我截图是已经修改好了的。按照提示把相关KEY和BUTTON驱动取消,然后再重新编译内核,挂载根文件,烧写驱动,就可以了。当按下按键后,就能打印出信息“key down!”,这里附上我的驱动,供测试参考!
![](http://www.ithao123.cn/uploads02/u02/17/55/175571ed5ffee2ddcd62971cc9636161.jpg)
![](http://www.ithao123.cn/uploads02/u02/12/75/1275fe1fdeaf01e090393c06f62c179b.jpg)
![](http://www.ithao123.cn/uploads02/u02/37/90/3790d9304cc6a1adb596a9a3fcee03be.jpg)
![](http://www.ithao123.cn/uploads02/u02/5f/f4/5ff4d70608a7755d73bac4ede797929b.jpg)
实验结果:
![](http://www.ithao123.cn/uploads02/u02/22/59/2259ba486216680ce8b119fd31389c32.jpg)