OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 3739|回复: 1

cvCreateCameraCapture 这个函数移植到arm6410上报错

[复制链接]
发表于 2012-5-2 11:25:26 | 显示全部楼层 |阅读模式
测试程序test.c:
#include <stdio.h>
#include <cv.h>
#include <highgui.h>
int main()
{
  //声明IplImage指针
  IplImage* pFrame = NULL;
printf(&quot;IplImage oK\n&quot;);

//获取摄像头
  CvCapture* pCapture = cvCreateCameraCapture(-1);
printf(&quot;cvCreateCameraCapture OK!\n&quot;);   
pFrame=cvQueryFrame( pCapture );
      printf(&quot;first frame\n&quot;);
cvReleaseCapture(&pCapture);
  cvReleaseImage(&pFrame);  
}
在pc的linux上gcc编译后能正常运行,但定位到CvCapture* pCapture = cvCreateCameraCapture(-1);这句话运行时会发出警告:mmap: Invalid argument

munmap: Invalid argument

munmap: Invalid argument

munmap: Invalid argument

munmap: Invalid argument

Unable to stop the stream.: Bad file descriptor

munmap: Invalid argument

munmap: Invalid argument

munmap: Invalid argument

munmap: Invalid argument
之后又可以正常运行了,参见我的帖子:http://www.oschina.net/question/256295_51843
经arm-linux-gcc交叉编译通过无误后,在板子上运行结果是:
IplImage oK           
Unable to handle kernel NULL pointer dereference at virtual address 00000000360c0112                                                                    
pgd = cbc5c000 c00f6e60 c051
[00000000] *pgd=5bc39831, *pte=00000000                                      
9f00: c00f80b0 c02f63a4 0000000
PC is at s3c_fimc_v4l2_g_input+0x14/0x2000000                                   
LR is at __video_do_ioctl+0x1d10/0x4a44  
9f20: 00000000 00000000 00000000 000
pc : [<c0342d54>]    lr : [<c02f91a4>]    psr: a0000013                                                      
sp : cbc47c38  ip : 00000000  fp : cbc47c4419f58 c00e7c3c 0000000d 01287ad0 80045626  
r10: 80045626  r9 : c0728ea8  r8 : cbc47e3c                              
9f60: cbc68
r7 : 00000000  r6 : 00000000  r5 : 80045626  r4 : 8004562600f8030                                                   
r3 : c0342d40  r2 : cbc47e3c  r1 : c07a40a4  r0 : 00000000 01287ad0 80045626 00000036 00000000 cbc19fa8            
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment userfa0: c0033b40 c00f85ac 01287c70 01287ad0 00000                  
7c20:                                                       cbc47e24 cbc47c48c02f91a4>] (__video_do_ioc                                                   
7c40: c02f91a4 c0342d4c 000000d8 00000000 000000dc 00000000 000000e0 00000000(__video_do_ioctl+0x1d10/0x4a44) from [<c02fbf94>] (video_ioctl2+0x         
7c60: 000000e4 00000000 000000e8 00000000 000000ec 00000000 000000f0 000000004)         
[<c02fbf94>] (video_ioctl2+0xbc/0x594) from [<c02f63d4>] (v4l2_io
7c80: 000000f4 00000000 000000f8 00000000 000000fc 00000000 00000100 00000000               
[<c02f63d4>] (v4l2_ioctl+0x3c/0x5c) from [<c00f80b0>] (do_vfs
7ca0: 00000104 00000000 00000108 00000000 0000010c 00000000                                    
                  
---[ end trace da227214a82491b9 ]---   
7d20: 00000000 c07a40a4 cbc47d4c cbc47d38 c0346090 c0344f14 c07a40a4 c07a40bcRLINX6410]#                  
KK  

U-Boot 1.1.6 (Feb  4 2012 - 18:07:29) fo
7d40: cbc47d6c cbc47d50 c034236c c04a18dc c0728ea8 cbc6e100 cc119ea0 c0728eb0************************                                       
**    u-boot
7d60: cbc47d8c cbc47d70 c02f65f4 c03422f0 00000000 00000000 cc542d00 cc119ea0ated for OK6410  TE6410 Board  **                                          
*
7d80: cbc47dbc cbc47d90 c00ec70c cbc47e3c 80045                           
                  
                  
7ea0: 00000000 cbc47ed0 ffffff9c cbc1a000 cbc46000 ffffff9c cbc47f54 7f28f14d
7ec0: c00f6e60 c0514078 007ef890 00000003 007ef890 c0033ce8 cbc46000 00000000
7ee0: cbc47f04 cbc47ef0 c02f63d4 c02fbee4 cbc6e100 007ef890 cbc47f7c cbc47f08
7f00: c00f80b0 c02f63a4 00000001 cbc6e108 cc40fdc0 cbc3f904 00000000 00000000
7f20: 00000000 00000000 00000000 00000020 00000020 cc119ea0 cbc6e108 00000003
7f40: cbc1a000 cbc46000 cbc47f94 cbc47f58 c00e7c3c 00000003 007ef890 80045626
7f60: cbc6e100 c0033ce8 cbc46000 00000000 cbc47fa4 cbc47f80 c00f85e0 c00f8030
7f80: c0033ce8 00000000 007efa30 007ef890 80045626 00000036 00000000 cbc47fa8
7fa0: c0033b40 c00f85ac 007efa30 007ef890 00000003 80045626 007ef890 04000005
7fc0: 007efa30 007ef890 80045626 00000036 4002980c 40034860 00000001 bea20cf4
7fe0: 00000003 bea20ae8 40024d7c 4087300c 80000010 00000003 5fffe821 5fffec21
[<c0342d54>] (s3c_fimc_v4l2_g_input+0x14/0x20) from [<c02f91a4>] (__video_do_ioc
tl+0x1d10/0x4a44)
[<c02f91a4>] (__video_do_ioctl+0x1d10/0x4a44) from [<c02fbf94>] (video_ioctl2+0x
bc/0x594)
[<c02fbf94>] (video_ioctl2+0xbc/0x594) from [<c02f63d4>] (v4l2_ioctl+0x3c/0x5c)
[<c02f63d4>] (v4l2_ioctl+0x3c/0x5c) from [<c00f80b0>] (do_vfs_ioctl+0x8c/0x57c)
[<c00f80b0>] (do_vfs_ioctl+0x8c/0x57c) from [<c00f85e0>] (sys_ioctl+0x40/0x68)
[<c00f85e0>] (sys_ioctl+0x40/0x68) from [<c0033b40>] (ret_fast_syscall+0x0/0x30)

Code: e92dd800 e24cb004 e591c074 e3a00000 (e59c3000)
---[ end trace da227214a82491b9 ]---
Segmentation fault
原来还是CvCapture* pCapture = cvCreateCameraCapture(-1);
这句话在板子上不通过! 哪位高人指点一下 调试思路。。。。。。
回复

使用道具 举报

 楼主| 发表于 2012-5-3 10:20:47 | 显示全部楼层

cvCreateCameraCapture 这个函数移植到arm6410上报错

<!-- m --><a class=\"postlink\" href=\"https://code.ros.org/trac/opencv/ticket/141\">https://code.ros.org/trac/opencv/ticket/141</a><!-- m -->  这个上面给出了一个解决思路,,有遇到过类似问题的么???
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-5-7 00:22 , Processed in 0.009853 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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