打印
[嵌入式linux]

linux驱动问题,请大家进来看看

[复制链接]
1659|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bl20020825|  楼主 | 2007-6-8 16:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我是是基于2410+linux2.4.18来进行驱动编写的,我在用阻塞I/O时出现了一个系统错误,请大家指点一下
代码:
                  DEBUG_K("del_timer ");
        del_timer(&key_timer);
        wake_up_interruptible(&(KEY_BUF.wq));
上面时我的代码里的关键一段,在目标板上运行程序时
一显示完,
del_timer
后就出现下面的错误啦:
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
*pgd = 00000000, *pmd = 00000000
Internal error: Oops: 0
CPU: 0
pc : [<c002026c>]    lr : [<c3fff420>]    Not tainted
sp : c016fe90  ip : 00000000  fp : c016feb4
r10: 00000003  r9 : c016ff64  r8 : a0000013
r7 : c4ae0ec8  r6 : 00000093  r5 : 00000001  r4 : c4ae0ec4
r3 : 00000000  r2 : 00000001  r1 : c016e000  r0 : ffffff9d
Flags: Nzcv  IRQs off  FIQs on  Mode SVC_32  Segment kernel
Control: C000317F  Table: 33D50000  DAC: 0000001D
Process swapper (pid: 0, stackpage=c016f000)
这是为何呢?如果我将wake_up屏蔽掉的化,程序能继续运行!请大家指点一下,谢谢!
        

相关帖子

沙发
youcanh| | 2007-6-23 12:28 | 只看该作者

参数传递的问题

 r2 : 00000001  r1 : c016e000  r0 : ffffff9d
看到了吧 你查下 R2 R1 R0 分别代表什么东西就对了 正确应该是
r2:0x30000100 r1:0xc1 r0:0x0

使用特权

评论回复
板凳
whereis| | 2007-6-23 14:34 | 只看该作者

.

这与传内核参数,有什么关系。

真搞不懂,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

57

帖子

1

粉丝