w90p710中利用Servfox和Spcaview驱动摄像头

[复制链接]
2550|13
手机看帖
扫描二维码
随时随地手机跟帖
金鱼木鱼|  楼主 | 2010-6-29 23:08 | 显示全部楼层 |阅读模式
w90p710是一个很好的芯片,功能非常强大。网络上多为s3c2410中利用Servfox和Spcaview来驱动摄像头。今天俺就说说怎么使用w90p710来驱动摄像头吧。
      首先当然是配置spca5xx驱动程序啦,下载usb-2.4.31.patch,别说你不知道在什么地方下载哦,在我们论坛就有啦:  http://www.mcuos.com/viewthread.php?tid=262&下下来之后,拷贝到你的linux-2.4.x/driver/usb目录下,然后patch –p1<usb-2.4.31.patch,好了,这时候需要修改一点代码,别看修改得不多,当时可卡了我一点时间哦(没办法,兄弟我刚刚入门,水平太差)。
      修改了的代码在附件里,有兴趣的可以看看啊。说实在的,这个程序关于虚拟内存处理的那些个原理我还是没搞太清楚,哪位兄弟你搞清楚了教教我,也写篇分析的**吧。小弟我是对着代码兴叹啊。就像复旦人甲所说:如果以为学了谭浩强大哥的C语言就以为能看懂代码了,那你就错了。写到这里我羞愧不已呀!大学四年出来,写不了代码吧,看代码都成问题。在这里我十二万分的感谢那位尊敬的法国老头,没有他的驱动,我究竟会怎样呢?
       在上面我说到打了个补丁,你打了吗? 打了吧,那行,打了之后再你driver/usb的目录下就出现了个spca5xx的文件夹,把附件里的spca_core.c文件拷贝到你的这个文件夹下覆盖掉原来的文件。完了之后,修改driver/usb目录下的那个Makefile吧,当你打完补丁后出现一个Makefile.rej,把里面的
subdir-$(CONFIG_USB_SPCA5XX)  += spca5xx
ifeq ($(CONFIG_USB_SPCA5XX),y)
       obj-y += spca5xx/spca5xx.o
endif
       复制到你的Makefile里去,随便放哪一行下面吧。好了,make menuconfig,选上该选的东东。         
       File systems ---
        /dev file system support (EXPERIMENTAL)
        Automatically mount at boot       //加上这个是由于在insmod驱动的时候,需要生成一个设备文件,配置成devfs文件系统后,/dev目录就是可读写了。         
       ** devices -
         Video For Linux
      USB support -
          Support for USB
        --- USB Host Controller Drivers
          OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support
        --- USB ** devices
        [M]   USB SPCA5XX Sunplus Vimicro Sonix Cameras
       编译吧,make linux  make modules
      ok,这时候你得到了你梦寐以求的三个东东:spca5xx.o,spca_core.o,spcadecoder.o,复制到你的romdisk目录里吧。
      好了,看起来该做的差不多了,还有一个东东,服务端采集程序servfox-R1_1_3.tar.gz。还是上面说的俺们论坛有得下,编译吧!!!记得在makefile里改成arm-elf-gcc并加上-Wl -elf2flt 还有-static静态选项哦,得到的servfox程序,拷贝到你的romdisk下吧。
    我们可以开始测试了,在服务端,就是你的开发板。
    mount  -t  proc none  /proc
    insmod  /bin/spca5xx.o
    ifconfig eth0 192.168.0.56
    ifconfig lo 127.0.0.1
    ln –s /dev/v4l/video0  /dev/video0
    ./servfox -g -d /dev/video0 -w 7070
     好了,在客户端上,编译spcaview,在当前目录下执行:
    ./spcaview –g –w 192.168.0.56

     ok,看到了吧。。画面速度还可以啊,呵呵,接下来的事情就任你发挥罗!由于水平比较差,所以肯定有错误的地方,如果发现了,请跟贴教教我。小弟我感激不尽!!!

相关帖子

北京户口| | 2010-6-29 23:09 | 显示全部楼层
好贴要顶!就是说你可以用710的开发板,装上摄像头后可以拍照了么?

使用特权

评论回复
yoyowodeai| | 2010-6-29 23:10 | 显示全部楼层
希望以后那些做毕业设计的做这个课题的就不要再用那个三星的2410了,太贵。。 用华邦的就很好呀。。
不过希望用Jtag小板烧写的问题你们还是要尽快解决,不然在这个地方你们的确没有三星的方便。一个仿真器1000多呢。。

使用特权

评论回复
bit6019| | 2010-6-29 23:10 | 显示全部楼层
我在w90n745上遇到点问题,servfox里的pthread函数编译时候遇到点问题,按照论坛上的方法,增加了一个结构体,编译倒是通过了,但是启动以后,在服务器这边只能看到全黑的画面- -||过完中秋再来仔细调一下

使用特权

评论回复
LPC300| | 2010-6-29 23:12 | 显示全部楼层
w90p710 File systems
---  File systems
        /dev file system support (EXPERIMENTAL)
        Automatically mount at boot       //加上这个是由于在insmod驱动的时候,需要生成一个设备文件,配置成devfs文件系统后,/dev目录就是可读写了。
楼主您好,我按照您的这篇**来做的,当我选上面的选项时无法通过编译。请指教,或者可以发一份可以通过编译的配置文件给我吗?
我用的是W90P710芯片 uclinux 系统

使用特权

评论回复
金鱼木鱼|  楼主 | 2010-6-29 23:17 | 显示全部楼层
LS兄弟你好,我刚看了一下以前的笔记:

修改linux-2.4.x/drivers/mtd/mtdchar.c代码:
注释掉有关 devfs_mk_cdev 跟 devfs_remove 的代码
static void mtd_notify_add(struct mtd_info* mtd)
{
        if (!mtd)
                return;

//      devfs_mk_cdev(MKDEV(MTD_CHAR_MAJOR, mtd-&gt;index*2),
//                    S_IFCHR | S_IRUGO | S_IWUGO, "mtd/%d", mtd-&gt;index);

//      devfs_mk_cdev(MKDEV(MTD_CHAR_MAJOR, mtd-&gt;index*2+1),
//                    S_IFCHR | S_IRUGO, "mtd/%dro", mtd-&gt;index);
}

static void mtd_notify_remove(struct mtd_info* mtd)
{
        if (!mtd)
                return;
//      devfs_remove("mtd/%d", mtd-&gt;index);
//      devfs_remove("mtd/%dro", mtd-&gt;index);
}

你再试试看呢...

使用特权

评论回复
linux1| | 2010-6-29 23:19 | 显示全部楼层
嘿嘿,这个功能以前试过,用W90N740采集,然后进行视频压缩后通过GPRS发给手机看,结果,每秒只有1帧,而且GPRS的费用巨贵!玩了一小时就花了100大米.郁闷S了~~~

使用特权

评论回复
huzixian| | 2010-6-29 23:19 | 显示全部楼层
老大,我照你的步骤做了,但是在make menuconfig后找不到下面这个模块啊
[M]   USB SPCA5XX Sunplus Vimicro Sonix Cameras
什么原因呢,我的内核是2.4的,请指教

使用特权

评论回复
3B1105| | 2010-6-29 23:20 | 显示全部楼层
我按照您的做法patch的时候就有一个failed啊
提示的内容是1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej
还请赐教

使用特权

评论回复
无语凝咽| | 2010-6-29 23:20 | 显示全部楼层
版主,我买的是良田9014的免驱摄像头,编译好内核之后,把摄像头的USB插入开发板提示
spca_core.c:  Devices not found !!
usb.c: USB device 2 (vend/prod 0x1e4e/0x100) is not claimed by any active drive
请问是什么原因啊?,用usb-2.4.31.patch一定要ov511的芯片的吗?

使用特权

评论回复
yybj| | 2010-7-2 15:31 | 显示全部楼层
看来问题还不少,顶下

使用特权

评论回复
seabada| | 2010-7-14 10:51 | 显示全部楼层
顶下,高手啦啊

使用特权

评论回复
hsbjb| | 2010-7-18 21:46 | 显示全部楼层
楼主这个贴不错,虽然无法解答其中问题,但看了也颇有收获,顶下吧

使用特权

评论回复
6019实验室| | 2010-7-21 22:31 | 显示全部楼层
好东西啊,学习了啊!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

346

主题

1551

帖子

2

粉丝