概述
下面说一下使用的2.6.28内核里的驱动文件编译的过程
首先make menuconfig,主要需要选的配置项如下:
Device Drivers ->
Multimedia devices->
<*>video for linux
[*]video capture adapters->
[*]V4l USB devices ->
<*>USB video class (UVC)
[*] UVC input events device support
<*>GSPCA based webcams ->
<*>ZC3XX USB Camera Driver
做好如上配置后就make,产生zImage,烧入板子,启动
插入usb摄像头,产生提示信息:
drivers/usb/media/gspcav1-20071224/gspca_core.c: USB GSPCA camera found.(ZC3XX)
configuration #1 chosen from 1 choice
gspca:probing 0ac8:304b
zc3xx:probe 2wr ov vga 0x7648
zc3xx:probe 3wr vga 1 0x4001
zc3xx:probe sensor ->7648
zc3xx:Find Sensor OV7648
gspca:probe ok
至此说明系统发现usb设备,并且自动将驱动文件加入内核,设备可以使用了
输入命令mdev -s 更新设备节点,ls /dev 查看设备节点,应该看见设备节点video0 ,输入命令 cat video0 > 2.img,将摄像头数据输出到2.img文件中,将该数据使用ftp或者u盘移到pc上,查看,可以看见摄像头工作了,振奋人心的时刻……
昨天两次编译都成功,但是使用自动加载驱动的内核后,使用servfox 程序的时候被告知不是jpeg webcam。之前大致看过servfox的源码,因为它主要使用jpeg格式数据作为操作对象,所以如果设备输出不是jpeg格式的话,它不能正常工作。google之后看了一篇文章(该文章地址http://blogold.chinaunix.net/u/16942/showart_96045.html),虽然不是很懂,但是受到启发,感觉这个问题应该是跟驱动有关系,因为文中说中星微芯片支持压缩jpeg格式,而且还说道控制中星微芯片的jpeg压缩比是在zc3xx.h中的函数,所以我认为应该跟驱动有关系。抱着试一试的想法,将之前由gspcav1-20071224单独编译出来的驱动加载到板子上,调用servfox命令,正常运行,证明之前的假设。下面是加载gspcav1-20071224过程。
首先我将gspcav1-20071224中编译好的gspcav.ko移到nfs目录下
开发板挂载
insmod gspcav.ko失败,提示信息如下
usb 3-1: new full speed USB device using ohci_hcd and address 2
usb 3-1: configuration #1 chosen from 1 choice
gspca: Unknown symbol video_devdata
gspca: Unknown symbol video_unregister_device
gspca: Unknown symbol video_device_alloc
gspca: Unknown symbol video_register_device
gspca: Unknown symbol video_usercopy
gspca: Unknown symbol video_device_release
google一下,有很多,应该是在配置内核的时候没有选v4l的缘故,重新配置内核,选好v4l,将驱动项选为模块加载
重新make,烧写内核
重新insmod gspca.ko,加载成功
使用servfox,成功……
最后
以上就是紧张小白菜为你收集整理的z301摄像头的驱动移植的全部内容,希望文章能够帮你解决z301摄像头的驱动移植所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复