Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1082004
  • 博文数量: 135
  • 博客积分: 10182
  • 博客等级: 上将
  • 技术积分: 1565
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-07 16:05
文章分类

全部博文(135)

文章存档

2011年(5)

2010年(20)

2009年(3)

2008年(16)

2007年(91)

分类: LINUX

2007-08-18 10:46:04

  开发板是恒颐的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
下载: 下载
阅读(7385) | 评论(7) | 转发(2) |
给主人留下些什么吧!~~

chinaunix网友2010-01-17 05:25:15

不管怎么样 谢谢楼主 找了好久 本人不会编译 在路由器上挂个摄像头

chinaunix网友2010-01-17 05:25:07

不管怎么样 谢谢楼主 找了好久 本人不会编译 在路由器上挂个摄像头

chinaunix网友2008-02-24 14:25:27

能贴一下你下载的最新的驱动源码吗?