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