天嵌 ARM开发社区

 找回密码
 注册
查看: 1930|回复: 6

【求助】扩展矩阵键盘的问题

[复制链接]
lingxun007 发表于 2010-4-3 15:41:13 | 显示全部楼层 |阅读模式
自己扩展了矩阵键盘
【环境】 内核2.6.30.4  GCC:4.3.3  
【引脚】行用中断:EINT3 EINT11 EINT13 EINT15 (即GPF3 GPG3 GPG5 GPG7)
            列用IO口:GPF4 GPG0 GPG6 GPG11
【驱动编译成模块】出现了几个警告没管
【问题现象】
  Unable to handle kernel paging request at virtual address 75000000
pgd = c39e8000
[75000000] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in: kk(P)
CPU: 0    Tainted: P            (2.6.30.4-EmbedSky #1)
PC is at s3c2410_gpio_cfgpin+0x70/0xb0
LR is at S3C2440_kb_open+0x94/0xcc [kk]
pc : [<c003f93c>]    lr : [<bf0002a4>]    psr: 00000093
sp : c39d1e14  ip : 00000013  fp : c39d1e24
r10: c384a980  r9 : 00000002  r8 : c3482c00
r7 : c39e7900  r6 : c39c4d50  r5 : bf001074  r4 : f4000000
r3 : 00000093  r2 : 75000000  r1 : 00000028  r0 : fffffffc
Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: c000717f  Table: 339e8000  DAC: 00000015
Process kkapps (pid: 502, stack limit = 0xc39d0268)
Stack: (0xc39d1e14 to 0xc39d2000)
1e00:                                              00000000 c39d1e3c c39d1e28
1e20: bf0002a4 c003f8dc 00000000 c3916c00 c39d1e64 c39d1e40 c0099580 bf000220
1e40: c009eba8 00000001 00000000 c39e7900 c39c4d50 c00994b4 c39d1e8c c39d1e68
1e60: c0094a7c c00994c4 c39e7900 c390aa80 00000003 c39a2000 00000026 c39d1ed8
1e80: c39d1eac c39d1e90 c0094d14 c00949bc 00000000 c390aa80 00000000 00000000
1ea0: c39d1f64 c39d1eb0 c00a1c80 c0094cc0 c39d1f7c c39d1ec0 c003c714 c00608b8
1ec0: c39d1efc be837e9c 00000000 00000000 c39d34d0 c039670c c384a980 c3482c00
1ee0: c039677c c39d1fb0 00000000 00000101 00000001 00000000 c00351e0 c003c548
1f00: 08100875 c3995170 c39e7480 0000001c 00000000 c039c8e0 00000003 00000003
1f20: 00000000 c39e7900 00000000 c39d0000 c39d1f64 c39d1f40 c00aa9b8 00000003
1f40: c39a2000 00000002 be837e9c ffffff9c c39d0000 00000000 c39d1f94 c39d1f68
1f60: c00948d8 c00a1aa0 00000000 40025000 c39d1f9c 000085ac 00000000 00008440
1f80: 00000005 c0036008 c39d1fa4 c39d1f98 c0094988 c0094878 00000000 c39d1fa8
1fa0: c0035e60 c0094974 000085ac 00000000 00008630 00000002 be837e9c 00000000
1fc0: 000085ac 00000000 00008440 00000005 00000000 00000000 40025000 be837d44
1fe0: 00000000 be837d30 00008514 400efd9c 60000010 00008630 00000000 00000000
Backtrace:
[<c003f8cc>] (s3c2410_gpio_cfgpin+0x0/0xb0) from [<bf0002a4>] (S3C2440_kb_open+0x94/0xcc [kk])
r4:00000000
[<bf000210>] (S3C2440_kb_open+0x0/0xcc [kk]) from [<c0099580>] (chrdev_open+0xcc/0x170)
r5:c3916c00 r4:00000000
[<c00994b4>] (chrdev_open+0x0/0x170) from [<c0094a7c>] (__dentry_open+0xd0/0x270)
r7:c00994b4 r6:c39c4d50 r5:c39e7900 r4:00000000
[<c00949ac>] (__dentry_open+0x0/0x270) from [<c0094d14>] (nameidata_to_filp+0x64/0x6c)
[<c0094cb0>] (nameidata_to_filp+0x0/0x6c) from [<c00a1c80>] (do_filp_open+0x1f0/0x7e8)
r5:00000000 r4:00000000
[<c00a1a90>] (do_filp_open+0x0/0x7e8) from [<c00948d8>] (do_sys_open+0x70/0xe8)
[<c0094868>] (do_sys_open+0x0/0xe8) from [<c0094988>] (sys_open+0x24/0x28)
r8:c0036008 r7:00000005 r6:00008440 r5:00000000 r4:000085ac
[<c0094964>] (sys_open+0x0/0x28) from [<c0035e60>] (ret_fast_syscall+0x0/0x2c)
Code: e121f003 e3c4201f e1a020a2 e28224fb (e5923000)
---[ end trace 856b341ac03be020 ]---
Segmentation fault


【请教】
      这是怎么回事啊!
    能不能教些调试的方法。
    或者指点一下。
    不胜感激

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| lingxun007 发表于 2010-4-5 18:23:20 | 显示全部楼层
上面的 问题已经解决  
不过又有新问题了  :
我的 程序运行到 disable_irq();就会死在这里。
后面的键盘扫描根本没办法运行  
【请亚瑟王帮忙】:'(】:'(】:'(】:'(】:'(
亚瑟王 发表于 2010-4-9 14:53:40 | 显示全部楼层
你检查一下内核中是否在别的地方用到了那几个中断引脚,导致出错的。检查方法可以使用TQ2440配套的按键驱动测试,就将里面的中断引脚改成你的,然后运行一下。
 楼主| lingxun007 发表于 2010-4-10 13:26:39 | 显示全部楼层
亚瑟王老大您终于回我帖子了  :'( 感动啊  
如果我将disable_irq改成disable_irq_nosync() 就可以读出键值,但是问题又出来了  。只能读一次。
然后程序就阻塞了  用PS命令 查看 显示的是   T         如果是R  就可以 运行。
。。。。。
我先按您的方法试试 。。。。
谢谢了   非常。
sdanan 发表于 2010-7-19 21:11:59 | 显示全部楼层
LZ问题解决了么?能把硬件图给个么?学习一下,谢谢
亚瑟王 发表于 2010-8-2 17:37:03 | 显示全部楼层
应该是你的驱动中的中断响应部分没有做好导致的。
pch123 发表于 2010-10-29 22:59:20 | 显示全部楼层
学习了,谢谢。:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-10-6 14:28 , Processed in 1.019570 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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