嵌入式爱好者

查看: 2335|回复: 3

ok6410光盘内的内核源码是否已经对6个按键进行中断注册(已解决)

[复制链接]

1

主题

5

帖子

14

积分

i.MX6Q通行证

扫一扫,手机访问本帖
发表于 2012-6-27 14:38:35 | 显示全部楼层 |阅读模式
本帖最后由 nomaze 于 2012-6-28 01:36 编辑

ok6410光盘内的内核源码linux-3.0.1是否已经对6个按键进行中断注册了呢?如果是的话,我该如何再去注册我的中断服务程序呢?我在用这份源码编译出来的内核来做按键实验的时候,request_irq无论采用IRQF_SHARED还是IRQF_INTERRUPT模式都是返回-EBUSY错误号。
    另外,做按键实验的时候,还需要对与这几个键相连的寄存器GPNCON进行设置吗?谢谢

结贴
回复

使用道具 举报

1

主题

5

帖子

14

积分

i.MX6Q通行证

 楼主| 发表于 2012-6-27 15:20:18 | 显示全部楼层
有没有人回答呢?
点评回复 支持 反对

使用道具 举报

1

主题

5

帖子

14

积分

i.MX6Q通行证

 楼主| 发表于 2012-6-28 01:36:13 | 显示全部楼层
经过不懈的努力,总算是被我找出解决方法了,最后还是自己解决,结贴
这里无法注册中断的原因,当然是中断线已被占用,而去查看free_irq的代码(在kernel/irq/manage.c中),可以发现,出现这个Trying to free already-free IRQ 101 告警的原因是  存在该中断号对应的中断描述符desc ,而相印的中断服务程序却不存在。  说明有驱动程序占用了该中断号。 因而,我们要去掉这个驱动程序,方法:make menuconfig->Device Drivers->input device support->Key Boards->GPIO Buttons 去掉前面的*,即不选该项即可。
重新编译内核,ok
点评回复 支持 反对

使用道具 举报

wujiaheng 该用户已被删除
发表于 2012-7-1 20:51:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-12-27 01:35

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表