根据计划,本来上个星期就要完成键盘驱动,但是延期了。某天心血来潮决定当晚完成键盘驱动!刷刷代码写完。一调试,我考,系统都死了,问题有点严重。
具体现象如下:
键盘按键按下,对应中断脚就一直低电平,而且系统也死了。我考,同样的键盘板,我曾经在linux-2.6.26内核通过中断方式实现了。这怎么就
罢 工了呢?硬件电路不一样???还是.....
奋战到凌晨,实在顶不住了。睡觉去了。
接下来的几天,公司比较忙就没管这事了。今天拿来一看,突然产生了一个想法。
假如我不在中断发生时关闭中断呢?马上试验,嘿嘿,还真ok了。再精确定位,原来linux-3.1.6内核在中断发生时不能同步关闭中断本身!但是可以同步关闭其他中断。其实要在中断中关闭中断本身只要用disable_irq_nosync代替disable_irq就可以了!我考!搞定,睡觉去!
嗨,有时想想,软件开发就这样,你死磕她,就是不行,撞的头破血流。晕倒睡了一会,迷迷睁开眼睛原来有扇门。!
具体可以查看如下博客: http://blog.chinaunix.net/space.php?uid=8867796&do=blog&id=358805
阅读(5592) | 评论(0) | 转发(0) |