主题 : 关于驱动的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 15634
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2010-03-08
最后登录: 2010-07-09
楼主  发表于: 2010-03-09 13:32

 关于驱动的问题

我想使用16C554扩展串口,仿照QQ2440开发板资料里提供的按键驱动写了一段驱动代码,要用8个外部中断。
我先每个串中断分别调试。

模块加载都能成功,其中有些中断如EINT14,EINT15工作没问题。

但是EINT5、13、16、17、18、20都不行,有些一上电就拉高,有些加载模块就拉高,这可能是什么原因?
是不是加载内核缺省配置的时候被占用了?

还有想要修改内核配置,比如去掉按键驱动,是不是用 make menuconfig 来配置?怎么做?

实在搞不懂……求指导!
好难啊好难啊
级别: 新手上路
UID: 15634
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2010-03-08
最后登录: 2010-07-09
1楼  发表于: 2010-03-09 14:36
木有人啊!自己顶顶
哪位路过的高人解救我TAT
菜鸟再次呼吁~~~~
好难啊好难啊
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
2楼  发表于: 2010-03-09 22:28
在mini2440中,EINT8, 11,13,14,15, 19已经被用作普通用户按键了。至于QQ2440,建议看看原理图,一般作为中断使用最好加上拉电阻,以防止误触发。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 15634
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2010-03-08
最后登录: 2010-07-09
3楼  发表于: 2010-03-10 22:31
多谢斑竹!
今天发现,原先的驱动程序似乎在配置寄存器之前就进入中断,给程序里面多加了一个flag标志就能正常工作。
但是为什么使用其他外部中断就正常呢……?原因仍不明……  
与用户按键驱动好像没有关系,之前我重新编译过内核也没有改善,现在即使加载按键驱动也没有问题

PS:调试驱动有什么好方法吗?我只会打印……
好难啊好难啊
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
4楼  发表于: 2010-03-11 00:02
打印和分析结果目前几乎是我们公司使用的唯一调试方式。
我们所提供的Linux/wince BSP及应用程序,都是这样开发调试出来的。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.