广嵌科技  广嵌教育  English  
 
首页 > 软件开发 > 驱动设计 > S3C2410中利用serfox 和spcavie 使用摄像头
S3C2410中利用serfox 和spcavie 使用摄像头
来源:电子开发网 作者: 时间:2008-04-11 发布人:林逸
要用到的软件包

  摄像头驱动: http://mxhaard.free.fr/spca50x/embedded/KernelPatch/usb-2.4.31LE06.patch.tar.gz
  服务器视频采集: http://mxhaard.free.fr/spca50x/embedded/Servfox/servfox-R1_0_0.tar.gz
  客户端播放视频: ftp://ftp5.linuxeden.com/hardware/spcaview-20061208.tar.gz
  浏览器java plugs: http://software.lupaworld.com/data/upload/jre-1_5_0_06-linux-i586-rpm.bin

一、硬件平台:
  2410开发板
  摄像头:zc301p

二、软件平台:
  armLinux

三、驱动程序:
编译 zc301驱动
  主要的思路是重新编译内核,将对应的摄像头支持模块选上.
  但是LINUX内核中系统中没有ZC301P摄像头驱动,要下载对应的内核补丁,其补丁和驱动在http://mxhaard.free.fr/中有对应的驱动下载,此处用到的是:http://mxhaard.free.fr/spca50x/embedded/KernelPatch/usb-2.4.31LE06.patch.tar.gz,此patch是为令重编内核时,有spcaxx系列摄像头的支持。

(1)把它复制到/armlinux/kernel/driver/usb下,解压,打补丁.
  tar -xvzf usb-2.4.31.patch.gz
  patch -p1 < usb-2.4.31.patch
  此时就会在此目录下看到spca5xx文件夹了.不知是何原因,估计是KERNEL版本的原因,在/armlinux/kernel/driver/usb 的目录中的Makefile 和config.in中找不到对应的关键字,此时会有一些错误,并将错误放在Makefile.rej 和config.in.rej 两文件中,打开两个文件,分别将其中前面有+的文字加到 Makefile和config.in中
对应的分类中即可.

(2)编译内核,进入/armlinux/kernel,
  make menuconfig.

  在arm linux的kernel目录下make menuconfig,
  首先<*>选择Multimedia device->下的Video for linux,
  然后 USB support ---> USB Multimedia devices 选项下应该有
  <M> USB SPCA5XX Sunplus Vimicro Sonix Cameras,要把它配置成module。

  (3)make dep;make zImage;make modules.就会在/armlinux/kernel/arch/arm/boot下生成zImage,这就是我们生成最新的内核,将此内核通过终端下载到开发板中,/armlinux/kernel/driver/usb/spca5xx中生成spca5xx.o,spcadecoder.o,spca_core.o.这就是我们要的驱动.

 (4)用新内核启动,insmod这三个.o文件(可以不用加载spcadecoder.o),摄像
头就加载成功,也可用modprobe spca5xx.o 命令,此命令会自动去加载其要支持的.o文件.

  如果一切顺利的话,此时将在看到类似下面的信息,
Using /mydev/spca5xx.o
usb.c: registered new driver spca5xx
spca_core.c: USB SPCA5XX camera found. Type Vimicro Zc301P 0x301b
spca_core.c: spca5xx driver 00.57.06LE registered

  此时会在/dev/成生成 v4l/video0表明摄像头成功安装。

四、应用程序:
1、移植视频采集程序servfox
  移植此程序是最简单的,从http://mxhaard.free.fr/spca50x/embedded/Servfox/servfox-R1_0_0.tar.gz下载后,解压后,会发现在其目录中会有一个Makefile.arm文件,将此文件修改成Makefile,再make就可生成我们要用到的serfox程序了,将 此程序上传到我们的板中,运行就行了。
  另外在运行servfox前,一定要运行"mknod /dev/video0 c 81 0"这步,
  不写"mknod /dev/video0 c 81 0"这步,出现 ERROR opening V4L interface错误。
  # servfox -d /dev/video0 -s 320x240 -w 7070
  在服务器端运行servfox,图像大小为320x240,端口号为 7070

2、客户端spcaview
  到ftp://ftp5.linuxeden.com/hardware/spcaview-20061208.tar.gz下载spcaviev ,make生成目标文件,
  在PC上,spcaview –w 192.168.1.186:7070就可以看到摄像头采集来的图片了。Servfox和spcaview还有很多选项,可以通过spcaview –h 和servfox –h查阅,其中.

 解压后,还会产生<http-java-applet>,此是WEB客户端,将此客户端上传到开发板上的WEB文件夹中,则在浏览器输入 http://192.168.1.186/index-sample.html则可看到摄像头采集来的图片了。
web SERVER是移植 boa,移植方法略

3、web浏览器安装jre
  1、去这里:http://software.lupaworld.com/data/upload/jre-1_5_0_06-linux-i586-rpm.bin 下载最新自解压安装包,其自解压出来的rpm包是不能够直接使用的,要不就直接提供rpm包安装了;
  2、使用命令如下:
chmod +x ./jre-1_5_0_09-linux-i586-rpm.bin
./jre-1_5_0_09-linux-i586-rpm.bin

  按空格查看下面的条款,然后输入yes安装完毕后,进行下一步;
  3、 到firefox/lugins目录(在我的NeoShine-Linux下是 /usr/local/firefox/plugins)或者~/.mozilla/plugins下执行:
ln -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so ./
  如果是安装的jre,可能命令语句如下:
  ln -s $JAVA_HOME/plugin/i386/ns7/libjavaplugin_oji.so
  如果是安装的jre就是jre文件夹地址。
  这样就安装完成了。可以在firefox地址栏里输入about:plugins查看是否安装成功。
  将连接创建在~/.mozilla/plugins下是放在当前用户下,不需要root权限,不影响其他用户。

  从视频的效果来看,是很流畅和清楚,比想象中要好。

·上一条:离子迁移谱仪嵌入式系统的设计
·下一条:基于FPGA设计的功能仿真和时序仿真

评论
发布者 标题 发布日期
暂没有任何评论
以下发言只是广嵌网会员个人意见,非本网立场 查看更多评论

发表评论
·尊重网上道德,遵守中华人民共和国的各项有关法律法规。
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任。
·本站管理人员有权保留或删除其管辖留言中的任意内容,本站有权在网站内转载或引用您的评论。
·参与本评论即表明您已经阅读并接受上述条款。
标题:
发布者:
内容:
验证码:

相关信息
·嵌入式设计:随着标准一起..
·LCD彩色图形显示和英文..
·基于嵌入式PLC芯片组的..
·Blackfin处理器及..
·基于虚拟存储嵌入式存储系..
·双口RAM CY7C02..
·自制一款适合小功率胆机的..
·车用音频功率放大器
·WiFi与短波收音机芯片..
·移动多媒体广播产业链初步..
Copyright ©2005-2007 广东省嵌入式软件公共技术中心.All Rights Reserved.版权所有 复制必究
客户服务支持:020-32068395-832 24小时服务热线:13631411558
技术支持与报障:gdesc@midea.com.cn 020-32068395-807/809
粤ICP备05104135号