• «
  • 1
  • 2
  • 3
  • »
  • Pages: 1/3     Go
主题 : Tiny210关于例程camtest的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 69474
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
综合积分: 12 分
注册时间: 2012-05-07
最后登录: 2012-07-31
楼主  发表于: 2012-07-30 16:18

 Tiny210关于例程camtest的问题

运行环境是Tiny210 已烧写带有5150驱动的linux2
可以正常运行 CMOS camera 程序

问题
1 如何编译运行例程 camtest
我已直接make,复制到板子上运行没有反应

2 根据例程的思路我自己写了一段代码运行出现问题,下面是主要代码部分

由于初学linux编程,对错误信息不太能理解,帮忙分析一下是我程序的问题,还是驱动的问题呢?

//////////////////////////////////
m_cam_p_fd = open(V4L2_DEV_NODE, O_RDWR); // #define V4L2_DEV_NODE "/dev/video0"
if (m_cam_p_fd < 0)
{
printf(" open V4L2_DEV_NODE ERROR\n");
return;
}
else
{
printf(" open V4L2_DEV_NODE ok m_cam_p_fd =%d\n",m_cam_p_fd );

}

// Get capability
if ((ioctl(m_cam_p_fd , VIDIOC_QUERYCAP, &cap)) < 0)
{
printf("V4L2 : ioctl on VIDIOC_QUERYCAP failled\n");
return ;
}

// Check the type - preview(OVERLAY)
if (!(cap.capabilities & V4L2_CAP_VIDEO_OVERLAY))
{
printf("V4L2 : Can not capture(V4L2_CAP_VIDEO_OVERLAY is false)\n");
//return ;
}
else
{
printf("V4L2 : V4L2_CAP_VIDEO_OVERLAY ok \n" );
}

// Check the type
if (!(cap.capabilities & V4L2_CAP_READWRITE))
{
printf("V4L2 : Can not capture(V4L2_CAP_READWRITE is false)\n");
//return ;
}
else
{
printf("V4L2 : V4L2_CAP_READWRITE ok \n" );
}


// Check the type
if (!(cap.capabilities & V4L2_CAP_STREAMING))
{
printf("V4L2 : Can not capture(V4L2_CAP_STREAMING is false)\n");
//return ;
}
else
{
printf("V4L2 : V4L2_CAP_STREAMING ok \n" );
}


inp.index = 0;
bool found = false;
while (true)
{

ret = ioctl(m_cam_p_fd, VIDIOC_ENUMINPUT, &inp);
printf("\nVIDIOC_ENUMINPUT = %d", ret);
if (ret < 0)
{
printf("V4L2 : ioctl on VIDIOC_ENUMINPUT failled\n");
break;
}

printf("[%d] : Name of this channel is %s\n", inp.index, inp.name);

// Test channel.type
if (inp.type & V4L2_INPUT_TYPE_CAMERA )
{
printf("V4L2 : Camera Input(V4L2_INPUT_TYPE_CAMERA )\n");
found = true;
break;
}
inp.index++;
}
if(!found)
{
printf("NO Camera Input FOUND!\n");
return ;
}

// Settings for input channel 0 which is channel of webcam
inp.type = V4L2_INPUT_TYPE_CAMERA;

if ((ioctl(m_cam_p_fd, VIDIOC_S_INPUT, &inp)) < 0)
{
printf("V4L2 : ioctl on VIDIOC_S_INPUT failed\n");
return ;
}
else
{
printf("V4L2 : ioctl on VIDIOC_S_INPUT ok\n");
}

// Set up for preview
struct v4l2_framebuffer preview2;

ret = ioctl(m_cam_p_fd, VIDIOC_G_FBUF, &preview2); //出错部分
if (ret< 0)
{
printf("V4L2 : ioctl on VIDIOC_G_FBUF failed\n");
return ;
}
else
{
printf("V4L2 : ioctl on VIDIOC_G_FBUF ok\n");
}


============================下面是屏幕显示
==================================================================
###############Before openning FB
 open /dev/camera ERROR
 open /dev/video0 ok  m_cam_p_fd =5
V4L2 : V4L2_CAP_VIDEO_OVERLAY ok
VIDIOC_ENUMINPUT = 0[0] : Name of this channel is tvp5150
V4L2 : Camera Input(V4L2_IN[13944.275920] tvp5150 0-005c: chip found @ 0xb8 (s3c
2410-i2c)
PUT_TYPE_CAMERA )
[13944.345595] tvp5150 0-005c: tvp5150am1 detected.
V4L2 : ioctl on VIDIOC_S_INPUT ok
[13944.607682] Unable to handle kernel NULL pointer dereference at virtual addre
ss 000000fc
[13944.607753] pgd = cfe58000
[13944.607779] [000000fc] *pgd=2fe57031, *pte=00000000, *ppte=00000000
[13944.607841] Internal error: Oops: 17 [#4] PREEMPT
[13944.610033] last sysfs file: /sys/devices/platform/dm9000/net/eth0/address
[13944.616879] Modules linked in: rtl8192cu tvp5150_tiny210 snd_soc_mini210_wm89
60 snd_soc_wm8960
[13944.625462] CPU: 0    Tainted: G      D      (2.6.35.7-FriendlyARM #1)
[13944.631971] PC is at fimc_g_fbuf+0x40/0xd0
[13944.636040] LR is at __video_do_ioctl+0x146c/0x3df4
[13944.640886] pc : [<c043501c>]    lr : [<c0423e1c>]    psr: 40000013
[13944.640892] sp : cfe7bd20  ip : cfe7bd40  fp : cfe7bd3c
[13944.652322] r10: cf63d9c0  r9 : cfd75200  r8 : 802c560a
[13944.657522] r7 : c05f30e4  r6 : 00000000  r5 : 00000000  r4 : cfe7be28
[13944.664021] r3 : 00000000  r2 : 00000011  r1 : cfd75200  r0 : cf63d9c0
[13944.670522] Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[13944.677627] Control: 10c5387d  Table: 2fe58019  DAC: 00000015
[13944.683345]
[13944.683347] PC: 0xc0434f9c:
[13944.687590] 4f9c  e5943188 e3130001 0a000002 e59f0028 e5941000 eb06247b e3e0c
00f e1a0000c
[13944.695735] 4fbc  e89dadf0 c0781920 c05f3ce4 c078386b c0783895 c05f3cfc c0783
8c0 c078253c
[13944.703881] 4fdc  e1a0c00d e92dd878 e24cb004 e5913000 e1a04002 e5932188 e5935
11c e3120c01
[13944.712026] 4ffc  e5916004 0a000003 e59f0094 e5931000 e59f2090 eb062463 e3a03
fbf e0235693
[13944.720172] 501c  e59320fc e5842000 e3a02000 e5842004 e5932104 e5842008 e5932
108 e584200c
[13944.728318] 503c  e593110c e5841010 e5931110 e5841014 e5933110 e59f1050 e1530
001 03a03004

.........................中间还有好多就不复制了


[13945.644621] Backtrace:
[13945.647057] [<c0434fdc>] (fimc_g_fbuf+0x0/0xd0) from [<c0423e1c>] (__video_do
_ioctl+0x146c/0x3df4)
[13945.655974]  r6:c080b3f0 r5:bead1aa4 r4:cfe7be28 r3:c0434fdc
[13945.661614] [<c04229b0>] (__video_do_ioctl+0x0/0x3df4) from [<c0426a80>] (vid
eo_ioctl2+0x2dc/0x438)
[13945.670626] [<c04267a4>] (video_ioctl2+0x0/0x438) from [<c0421b8c>] (v4l2_ioc
tl+0x40/0x4c)
[13945.678859] [<c0421b4c>] (v4l2_ioctl+0x0/0x4c) from [<c0206f5c>] (vfs_ioctl+0
x84/0xb4)
[13945.686736]  r6:802c560a r5:bead1aa4 r4:cf63d9c0 r3:bead1aa4
[13945.692375] [<c0206ed8>] (vfs_ioctl+0x0/0xb4) from [<c02079dc>] (do_vfs_ioctl
+0x530/0x58c)
[13945.700601]  r6:bead1aa4 r5:bead1aa4 r4:cf63d9c0 r3:cf9c38c0
[13945.706240] [<c02074ac>] (do_vfs_ioctl+0x0/0x58c) from [<c0207a78>] (sys_ioct
l+0x40/0x64)
[13945.714379]  r9:cfe7a000 r8:c016f168 r7:00000005 r6:802c560a r5:bead1aa4
[13945.720878] r4:cf63d9c0
[13945.723487] [<c0207a38>] (sys_ioctl+0x0/0x64) from [<c016efc0>] (ret_fast_sys
call+0x0/0x30)
[13945.731797]  r7:00000036 r6:bead1a54 r5:bead1aa4 r4:00076920
[13945.737435] Code: e59f2090 eb062463 e3a03fbf e0235693 (e59320fc)
[13945.743840] ---[ end trace 6c534a72e730def1 ]---
[13945.753877] tvp5150: power Off
Segmentation fault
[root@FriendlyARM /bin]#


自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2012-07-30 16:27
你使用的编译器是哪个版本?
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 69474
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
综合积分: 12 分
注册时间: 2012-05-07
最后登录: 2012-07-31
2楼  发表于: 2012-07-30 16:35
gcc version 4.5.1 (ctng-1.8.1-FA)
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
3楼  发表于: 2012-07-30 17:34
camtest并不支持tvp5150,不可参考
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 13574
精华: 0
发帖: 14
金钱: 75 两
威望: 15 点
综合积分: 28 分
注册时间: 2010-01-26
最后登录: 2014-03-17
4楼  发表于: 2012-07-30 18:36
tiny210使用tvp5150的例程哪里能找到?
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
5楼  发表于: 2012-07-30 18:43
可以发邮件索取capbily@163.com
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 侠客
UID: 6829
精华: 0
发帖: 99
金钱: 515 两
威望: 111 点
综合积分: 198 分
注册时间: 2009-06-18
最后登录: 2022-11-03
6楼  发表于: 2012-08-02 19:31
发了几次邮件,怎么没回信?
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
7楼  发表于: 2012-08-02 22:14
引用第6楼yrnet于2012-08-02 19:31发表的  :
发了几次邮件,怎么没回信?



我看到已经回复了
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 侠客
UID: 6829
精华: 0
发帖: 99
金钱: 515 两
威望: 111 点
综合积分: 198 分
注册时间: 2009-06-18
最后登录: 2022-11-03
8楼  发表于: 2012-08-03 15:36
多谢!不过到现在还没有收到,麻烦再发一次吧
river_ccie@sina.com
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
9楼  发表于: 2012-08-03 20:38
请尽量在上班时间发邮件索取
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 1/3     Go