s3c2410平台用IO实现PS2功能,申请中断出现死机的问题

发布于 2022-09-29 22:10:38 字数 543 浏览 10 评论 0

我需要在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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如歌彻婉言 2022-10-06 22:10:38

能否将s3c2410_kbd.c 代码列出看看?

[ 本帖最后由 osoon2008 于 2007-9-17 19:07 编辑 ]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文