主题 : 求助:Micro2440接摄像头,JPEG格式采集图像,linux内核需要怎么配置编译选项? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 25392
精华: 0
发帖: 28
金钱: 140 两
威望: 28 点
综合积分: 56 分
注册时间: 2010-07-23
最后登录: 2014-02-20
楼主  发表于: 2011-03-30 09:47

 求助:Micro2440接摄像头,JPEG格式采集图像,linux内核需要怎么配置编译选项?

我用的Micro2440开发板和今视通KS-188摄像头,是中星微芯片的,程序使用JPEG图片格式取图像,程序是很成熟的,用了很多年,程序运行就报错,重新编译了内核,还是一样,不知道怎么解决,另外,我执行 cat /dev/usbvideo0 > /home/a.jpeg  可以生成图片,但是文件大小不断增加,现在已经175M了,打开图片只能看到上面十分之一左右的影像。



想问一下,Micro2440自带的Linux2.6.32.2内核支持中星微驱动和JPEG格式吗?是不是配置一下内核编译选项重新编译就可以。

我编译Linux2.6.32.2内核的配置选项是:

Device Driver
     Multimedia Support
             <*> Video For Linux  

              <*> Video Capture adapter

                      <*> V4L USB Device

                                 <*> GSPCA based WebCamera

                                        <*> ZC3XX USB camera driver

                                 <*> ZC0301 [p] Image Processor and Control Chip support  

     USB support --->  
               <*> Support for Host-side USB
               --- USB Host Controller Drivers  
               <*> OHCI HCD support  


部分程序代码和运行日志:

// 获取摄像头图像处理芯片组信息
if (ioctl (vd->fd, VIDIOCGCHAN, &vd->videochan) < 0)
{
      g_LogFile.AppLogOut(0, APP_LOG_ERROR,"spcav4l.c:  Hmm did not support Video_channel");
  
      vd->cameratype = UNOW;
      close(vd->fd);
      return exit_fatal ("Couldn't get videodevice videochan");
}
else
{
     if (vd->videochan.name)
     {
         if (0 == strcmp(vd->videodevice,"/dev/video0"))
         {
              g_LogFile.AppLogOut(0, APP_LOG_ERROR,"v1 Bridge = %s", vd->videochan.name);
         }
         else
         {
              g_LogFile.AppLogOut(0, APP_LOG_ERROR,"v2 Bridge = %s", vd->videochan.name);
         }
    
        snprintf (vd->bridge, 9, "%s", vd->videochan.name);
        vd->cameratype = GetStreamId (vd->videochan.name);
        spcaPrintParam (vd->fd,&vd->videoparam);
    }
    else
    {
        g_LogFile.AppLogOut(0, APP_LOG_INFO,"spcav4l.c: Bridge not found not a spca5xx Webcam Probing the hardware !");
  
       vd->cameratype = UNOW;
    }
}
//-- end of " if (ioctl (vd->fd, VIDIOCGCHAN, &vd->videochan) == -1) " --

/* Only jpeg webcam allowed */
if(vd->cameratype != JPEG)
{
    close(vd->fd);
    return exit_fatal ("Not a JPEG webcam sorry Abort !");
}

以下是这部分运行的日志:
Mon Mar 28 15:44:01.011-v1 CameraName: PC Camera
Mon Mar 28 15:44:01.015-v1 Bridge = zc3xx
Mon Mar 28 15:44:01.018-exit_fatal: Not a JPEG webcam sorry Abort !

内核是否需要加入 gspcav1-20071224 驱动代码编译才可以? 我试着加入这个驱动包编译,但发现编译通不过,错误现象同:http://www.aiothome.net/read.php?tid-5886.html

请帮忙指点一下问题所在,和解决思路,谢谢。
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2011-03-30 12:31
默认配置就已经支持了,可以使用系统自带的usb摄像头程序测试一下
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 38131
精华: 0
发帖: 46
金钱: 230 两
威望: 46 点
综合积分: 92 分
注册时间: 2011-02-22
最后登录: 2015-08-05
2楼  发表于: 2012-04-11 21:23
围观
学习