首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

板子调试驱动出现有关问题,困扰了1周了,求大侠帮忙啊

2013-12-02 
板子调试驱动出现问题,困扰了1周了,求大侠帮忙啊~tw2823 driver version 0.0gpio_tw2823_active donetw282

板子调试驱动出现问题,困扰了1周了,求大侠帮忙啊~
tw2823 driver version 0.0
gpio_tw2823_active done
tw2823_attach_adapter start...
tw2823_detect_client start
tw2823.c:attaching tw2823 client on address 0x84
start to check functionality..
check functionality ok!
TW2823 Detected
tw2823_attach_adapter successful!
tw2823:i2c_add_driver done!
start to initialize page 0 ...
initialize page 0 ok
start to initialize page 1...
initialize page 1 ok
start to initialize page 2...
initialize page 2 ok
init page process ended
mx27# insmod mx27_capture.ko
mx27# ls
bin                   lib                   proc
boot                  linuxrc               root
ch7013.ko             mkfs.jffs2            rootfs.jffs2
dev                   mnt                   sbin
dir                   mx27_capture.ko       sys
drivers               mx27_csi.ko           test.yuv
etc                   mxc_v4l2_capture.out  tmp
hello565_320x240.bin  mxc_v4l2_overlay.out  tw2823_cam.ko
hello565_480x272.bin  opl.ko                usr
hello565_640x480.bin  opt                   var
home                  pen_test              wm9712-ts1.ko
mx27# ./mxc_v4l2_capture.out -w 352 -h 288 -c 50 -fr 30 test.yuv
g_width = 352, g_height = 288
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c6cc0000
[00000000] *pgd=a6df2031, *pte=00000000, *ppte=00000000
Internal error: Oops: 0 [#1]
Modules linked in: mx27_capture tw2823_cam opl mx27_csi wm9712_ts ssi_xtp_d501
CPU: 0
PC is at __init_begin+0x3fff8000/0x30
LR is at mxc_v4l_open+0x1b8/0x2e8 [mx27_capture]
pc : [<00000000>]    lr : [<bf013e08>]    Not tainted
sp : c7bd5e30  ip : c7bd5dc0  fp : c7bd5e70
r10: c6cfa400  r9 : c79b2140  r8 : 00000000
r7 : c7629004  r6 : c7bd4000  r5 : c7629000  r4 : 00000000
r3 : bf00e6f8  r2 : 00000001  r1 : c7bd4000  r0 : 00000000
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: 5317F
Table: A6CC0000  DAC: 00000015
Process mxc_v4l2_captur (pid: 1647, stack limit = 0xc7bd4250)
Stack: (0xc7bd5e30 to 0xc7bd6000)
5e20:                                     c7bd5e3c c00377f0 c0058004 ffffffff
5e40: c7bd5ec0 c7bd5e50 00000001 c6cfa400 c03194e0 c79b2140 c7a749e0 c7bd4000
5e60: c79b2140 c7bd5e94 c7bd5e74 c019d8a0 bf013c60 c7bd4000 00000000 c7c7f0e0
5e80: 00000000 c7a749e0 c7bd5ec0 c7bd5e98 c009d6f8 c019d77c 00000000 c009d508
5ea0: c79b2140 c7a749e0 00000000 c7c0cea0 c79b1154 c7bd5ee8 c7bd5ec4 c00981c8
5ec0: c009d518 c79b2140 c7bd5f08 ffffff9c 00000003 c6dfa000 40134000 c7bd5f00
5ee0: c7bd5eec c00983c4 c0098098 00000000 00000002 c7bd5f6c c7bd5f04 c009841c
5f00: c00983a0 c7bd5f08 c79b1154 c7c0cea0 c7460200 0000001e c6cc1000 00000101
5f20: 00000001 00000000 c7c1a5c8 c7c1a5c0 c6dfa000 c7bd4000 40134000 c7bd5f6c
5f40: c7bd5f4c c0097fdc c00b1020 00000003 00000000 c79b2140 00000002 00000000
5f60: c7bd5f94 c7bd5f70 c0098478 c00983e8 00000000 becebbc4 becebcc4 00008504


5f80: 00000005 c0036f84 c7bd5fa4 c7bd5f98 c009853c c0098434 00000000 c7bd5fa8
5fa0: c0036de0 c0098528 becebbc4 becebcc4 becebbc4 00000002 00000000 becebc28
5fc0: becebbc4 becebcc4 00008504 00000000 00000000 00000000 40134000 00000000
5fe0: 00000000 beceba2c 000089e4 400ce914 60000010 becebbc4 00000000 00000000
Backtrace:
[<bf013c50>] (mxc_v4l_open+0x0/0x2e8 [mx27_capture]) from [<c019d8a0>] (video_op
en+0x134/0x2d4)
[<c019d76c>] (video_open+0x0/0x2d4) from [<c009d6f8>] (chrdev_open+0x1f0/0x22c)
 r8 = C7A749E0  r7 = 00000000  r6 = C7C7F0E0  r5 = 00000000
 r4 = C7BD4000
[<c009d508>] (chrdev_open+0x0/0x22c) from [<c00981c8>] (__dentry_open+0x140/0x29
4)
[<c0098088>] (__dentry_open+0x0/0x294) from [<c00983c4>] (nameidata_to_filp+0x34
/0x48)
[<c0098390>] (nameidata_to_filp+0x0/0x48) from [<c009841c>] (do_filp_open+0x44/0
x4c)
 r4 = 00000002
[<c00983d8>] (do_filp_open+0x0/0x4c) from [<c0098478>] (do_sys_open+0x54/0xe0)
 r5 = 00000000  r4 = 00000002
[<c0098424>] (do_sys_open+0x0/0xe0) from [<c009853c>] (sys_open+0x24/0x28)
 r8 = C0036F84  r7 = 00000005  r6 = 00008504  r5 = BECEBCC4
 r4 = BECEBBC4
[<c0098518>] (sys_open+0x0/0x28) from [<c0036de0>] (ret_fast_syscall+0x0/0x2c)
Code: bad PC value.
 Segmentation fault
kernel 调试 video oops
[解决办法]
在执行v4l2的时候,你多加几个log看看在哪里断掉的。这种问题基本上有两种解决办法。
1. 层层添加log
2. 分析崩溃掉的寄存器,网上有分析的资料,你可以尝试着做一下。
可以选择自己熟悉的方式去解决。

热点排行