主题 : 最近几天积攒的几个问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 395
精华: 0
发帖: 31
金钱: 310 两
威望: 31 点
综合积分: 62 分
注册时间: 2008-03-26
最后登录: 2010-04-01
楼主  发表于: 2008-04-05 10:39

 最近几天积攒的几个问题

1.QQ2440本身带的按键驱动kernel-2.6.13/drivers/input/keyboard/sbc2440_buttons.c是以struct device_driver结构为基础写的,而我现在在学习字符设备驱动,那我如果把自己写的以struct cdev为基础的驱动直接在开发板上安装的话会不会与它本身的按键驱动发生冲突?如果要删除原来的驱动的话应该怎么删除?

2.开发板一开机是可以跟主机相互ping通的,但是为什么开发板一reboot后就都无法ping通了呢? 必须得硬件重启动才行?

3.想在学习驱动的同时学习Qt,可不可行啊~会不会导致两者都学不好?大家Qt用了多长时间入的门啊? -_-|||...
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2008-04-05 12:40
晕,问题又不会升值,积攒这个干嘛?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2008-04-05 15:12
1. 关于按键驱动,硬件只有一个,如果内核里同时有两个驱动都在控制同一个硬件,通常是会出问题的。要disable任何一个驱动,修改内核的config,不要把这个驱动编译进内核就可以。

2. 如果软件reboot之后发现ping不通,那应该是CS8900A的问题,可能软件reboot时CS8900A在硬件上没有reset(重新上电?),导致硬件无法使用,这需要你debug内核里的CS8900A驱动找出问题所在

3. 如果你脑袋足够强壮,当然没问题
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
会当凌绝顶,一览众山小!
级别: 总版主
UID: 2
精华: 18
发帖: 1656
金钱: 13915 两
威望: 5380 点
综合积分: 3672 分
注册时间: 2008-01-01
最后登录: 2026-07-25
3楼  发表于: 2008-04-05 15:56
3. 如果你脑袋足够强壮,当然没问题

-----确实搞笑!呵呵!
友善之臂淘宝直销店:http://shop34928758.taobao.com

手机:13560352861(杨工),QQ:10108270
级别: 新手上路
UID: 395
精华: 0
发帖: 31
金钱: 310 两
威望: 31 点
综合积分: 62 分
注册时间: 2008-03-26
最后登录: 2010-04-01
4楼  发表于: 2008-04-05 20:39
谢了!积攒到一块问节省大家的时间嘛,或许期间能自己解决呢
不过!
脑袋是是相当地不强壮啊~唉
级别: 侠客
UID: 944
精华: 3
发帖: 71
金钱: 22760 两
威望: 4838 点
综合积分: 202 分
注册时间: 2008-06-27
最后登录: 2017-07-16
5楼  发表于: 2008-11-05 11:00
我的网卡也有这样的问题啊,经常发现网卡没反映,/proc/interrupts 里的网卡中断也不再增加,好像是网卡没有复位。另外这个cs8900的驱动不是很完善啊,没有link detect的功能,有时候拔掉网线,再发送数据包,内核就会打印错误消息。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
6楼  发表于: 2008-11-05 13:44
CS8900A是开发板上最常用的,它的驱动也是我见过最烂的,已经被人改的面目全非了。欢迎你debug一把,发个patch出来
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 944
精华: 3
发帖: 71
金钱: 22760 两
威望: 4838 点
综合积分: 202 分
注册时间: 2008-06-27
最后登录: 2017-07-16
7楼  发表于: 2008-11-05 15:25
前端时间确实改了一点点,加了个定时器,检测连接的状态(8900好像不能在连接状态改变时产生中断),不过有时候没有响应的问题还是没解决,我想是要在probe的时候reset一下硬件,还没试过。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
8楼  发表于: 2008-11-06 11:01
QQ2440上CS8900A的RESET PIN是接在板子的RST按钮上的,没办法通过软件控制,不过你可以试试通过它的SelfCtl寄存器的Bit 6 (RESET bit)来reset它,具体的你可以参考data sheet的3.3.1.5节
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."