2010年11月12日星期五

S3C2440上的图像采集

今天在机房呆了一天,主要的目的就是把实验板上的摄像头驱动起来,可以采集图像,主机终端可以查看采集到的图像。先前我们小组成员在网上查了很多的资料,现在我把我们的试验过程写下,希望会有人可以BAIDU,GOOGLE到,有所帮助。

我的开发环境:F8 + S3C2440

为了驱动起来摄像头第一步就是把装摄像头驱动
一、由于我们使用的内核为2.4版本,摄像头为ZC301,在安装摄像头之前,需要对内核打个patch:usb-2.4.31.patch.gz
1.将patch复制到内核driver/usb目录下
2.解压缩,按后打包
tar -xvzf usb-2.4.31.patch.gz
patch -p1 < usb-2.4.31.patch
3.修改配置文件,重新编译内核
由于这部分的工作是有我们组的张鹏同学完成的,具体流程。。待续
4.编译最后生成zImage,driver/usb/spca5xx中生成spca5xx.o、spcadecoder.o、spca_core.o。前面的为内核,后面的3个为摄像头的驱动

二、通过VIVI将编译好的内核写入试验箱
1.通过minicom启动试验箱到vivi界面下
2.输入命令load flash kernel x 然后ctrl+a 点s,选择xmodem,空格选择要传入的文件,选择内核,回车传输,最后显示传输完成

二、在主机创建创建rootfs.cramfs文件系统,并将此文件系统通过NFS挂在到实验箱上
1.直接解压文件系统文件rootfs.tar.bz2,创建了一个文件系统到/root/myjob目录下
2.设置本机IP为10.0.0.10(试验箱默认IP为10.0.0.1)
3.vi /etc/exports 设置挂在目录,在其中添加自己建好的要挂在出去的目录,添加信息如下:
/root/myjob 10.0.0.*(rw,no_root_squash);
4.重启nfs服务
5.进入vivi更改启动的文件系统,将vivi直接引导主机上新建的文件系统,而不是实验板上的文件系统
输入param set linux_cmd_line “noinitrd root=dev\nfs nfsroot=10.0.0.10:/root/ZST/rootfs ip=10.0.0.1:10.0.0.10:10.0.0.10:255.0.0.0:arm:eth0:off init=/linuxrc console=ttyS0″
更改装在文件系统
param save 保存更改
6.重启试验箱,现在试验箱装在的文件系统就是主机上的文件系统了,可以直接在主机上的文件系统,操作

三、装在驱动、编译安装应用软件
1.将spca5xx.o、spcadecoder.o、spca_core.o三个驱动拷贝到新建的文件系统任意文件夹下,insmod三个文件,安装驱动
2.编译安装servfox,spcaview软件
servfox为实验板上的视频服务器,编译时须将编译器更改为arm-linux-gcc,编译它时出现了一个确实哦version.h的错误,最后注释掉此行,编译通过。
将servfox拷贝到文件目录下,
在试验箱终端下运行servfox -d /dev/video0 -s 320×240 -w 7070 启动servfox服务器
主机终端上运行spcaview –w 192.168.1.186:7070开启终端
然后在主机终端上就可以看到图像了,o(∩_∩)o…哈哈

没有评论:

发表评论