s3c2410平台用IO实现PS2功能,申请中断出现死机的问题
我需要在s3c2410开放板上通过IO口实现PS2功能,其中PS2 CLK接EINT12,PS2 DATA接GPIO_GPC10
出现的问题:
直接修改s3c2410_kbd.c的底层,在HW_kbd_init()中request_irq()申请中断12时出现死机。(跟踪调试)
并且,如果此时是申请不相关的终端号,比如EINT1,则可以申请成功。
如果屏蔽HW_kbd_init(),则系统可以正常运行并登陆系统,此时以模块方式加载ps2驱动,则可以申请中断12并正常工作。
在HW_kbd_init()使用使用printk跟踪调试发现:
是在 request_irq()-> setup_arm_irq(irq, action),
setup_arm_irq中的 spin_unlock_irqrestore(&irq_controller_lock, flags);处死机了
为何将驱动编译进内核就不能申请中断呢?请指点,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
能否将s3c2410_kbd.c 代码列出看看?
[ 本帖最后由 osoon2008 于 2007-9-17 19:07 编辑 ]