开发板是恒颐的9200cs,编译器是2.95.3,摄像头是海天地QQV8,数据处理芯片是中星微的301plh。:-),就是这个plh让我编译了三个不同版本的驱动才搞定。估计是芯片型号太高,只有到了最新版本的驱动才支持。现在的301v最新的驱动还没有支持,:-),所以还用不了。
驱动下载地址:。我编译的版本有:
1.
2.
3.
1. 开发板上跑的内核是2.4.27,所以首先想到1这个包了。根据戴小鼠的文章,没费多少力气就编译通过了。
(1)把它放到你的linux内核的driver/usb下,解压得到usb-2.4.31.patch包,打补丁(patch -p1 (2)编译内核,进入内核根目录,make menuconfig。采用动态加载:
(M)选中SPCA5XX这一项。
( 3 ) make dep ; make modules 。就会在
内核的driver/usb/spca5xx 中生成
spca5xx.o,spcadecoder.o,spca_core.o啦。这就是我们要的驱动。
(4)insmod这三个.o文件(可以不用加载spcadecoder.o),摄像
头就加载成功啦。有的摄像头就可以用了,可是我的还不行,呜呜。没办法谁让咱的摄像头好呢,继续努力。
2.spca5xx-20060402.tar.gz
很多哥们都推荐这个包,咱也编译一把试试。不就是修改makefile嘛,谁怕谁。下边是我对makefile的修改。
##########modified by ly44770################
#ifneq ($(shell uname -r | cut -d. -f1,2), 2.4)
#ifneq ($(KERNELRELEASE),) # We were called by kbuild
#CFLAGS += $(DEFINES)
#obj-m += spca5xx.o
#spca5xx-objs := drivers/usb/spca5xx.o drivers/usb/spcadecoder.o
#else # We were called from command line
#KERNEL_VERSION = `uname -r`
#KERNELDIR := /lib/modules/$(KERNEL_VERSION)/build
#PWD := $(shell pwd)
#MODULE_INSTALLDIR = /lib/modules/$(KERNEL_VERSION)/kernel/drivers/usb/media/
# Targets, don't change!
#default:
# @echo ' Building SPCA5XX driver for 2.5/2.6 kernel.'
# @echo ' Remember: you must have read/write access to your kernel source tree.'
# $(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) CC=$(CC) modules
#install:
# mkdir -p $(MODULE_INSTALLDIR)
# rm -f $(MODULE_INSTALLDIR)spca50x.ko
# rm -f $(MODULE_INSTALLDIR)et61x.ko
# install -c -m 0644 spca5xx.ko $(MODULE_INSTALLDIR)
# /sbin/depmod -ae
#uninstall:
# rm -f $(MODULE_INSTALLDIR)/spca5xx.ko
# /sbin/depmod -aq
#endif
#else # kernel version test
###############modified end########################
上边这一大段通通注释掉,:-)。
#KERNEL_VERSION = `uname -r`这句改成:
KERNEL_VERSION = 2.4.27
这几个变量根据自己的需要修改如下:
KINCLUDE = /home/linux-2.4/include
KERNEL_ACFILE = $(KINCLUDE)/linux/autoconf.h
KERNEL_MODVERSIONSFILE = $(KINCLUDE)/linux/modversions.h
#MODULE_INSTALLDIR = /lib/modules/$(KERNEL_VERSION)/kernel/drivers/usb/
CC = arm-linux-gcc
LD = arm-linux-ld
#CFLAGS += -mpreferred-stack-boundary=2 这个注释掉,否则编译通不过,:-)。
#CFLAGS += -I$(KINCLUDE) -Idrivers/usb
CFLAGS += -I/home/linux-2.4/include -Idrivers/usb
别忘了这句注释掉:
#endif # End kernel version test
好了make吧,:-)。于是得到了这个东西:spca5xx.o,我一阵激动,insmod后,:-)真是苦心人天不负呀。查看/dev目录下也出现了/v4l/video0,我心里那个美呀。赶紧抓一个图吧,:-)。一切正常。通过nfs查看一下,怎么黑乎乎的呀。看来还是驱动不管呀,:-)。可是在我的fedora上这款摄像头用起来没有问题。没办法了,看来只能试试最新的驱动包了。
3.对于这个包的编译我就不多说了,和上边那个完全一样,修改makefile就行。这次又顺利的得到了spca5xx.o。也不知道行不行?试试再说了,:-)。一试之下都ok了,:-),幸福总是来的这么突然。OK,编译完成,中星微的摄像头终于为我所用了。
下边这个就是我编译的果实了,:-)。
|
文件: |
中星微摄像头驱动模块.rar |
大小: |
392KB |
下载: |
下载 | |