EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Kernel version :2.6.22.6
0 ]. P2 f0 H; E/ y s6 T" W5 ]2 gCrosstool :ARM-linux-gcc-3.4.5
' D- ~! Y c" U1 Q1 M/ sBoard :FS2410 System :Fedora 8
% y+ ?5 w; t2 Y) n1 T3 USource :gspcav1-20071224、servfox-R1_1_3、spcaview-20061208 Author :http://viviwei.cublog.cn 一、移植gspcav1-20071224 gspcav1-20071224下载地址:http://www.slackware.com/~alien/ ... av1-20071224.tar.gz# z' @8 S3 O, K# ^. y E
FS2410开发板上移植的是Linux-2.6.22.6内核,USB及CS8900A均能工作,由于linux-2.6.22.6/drivers/usb 目录下没有 media 目录,故移植步骤如下:1 ?$ V E7 W, ]4 |% G
a) 在 linux-2.6.22.6/drivers/usb 目录下新建 media 目录,将gspcav1-20071224.tar.gz copy 到 media 下并解压。为了使media 编译进内核,需修改linux-2.6.22.6/drivers/usb 目录下的Kconfig、Makefile 文件。# h; l! }+ o* F9 N. K0 D: N
[linux@weijing usb]$ pwd3 `) c0 T1 H8 ?9 h( R
/work/kernel/linux-2.6.22.6/drivers/usb- m4 O6 E5 G" L$ S
[linux@weijing usb]$ vi Kconfig6 R; D$ l. W' s5 K# L
添加! Z7 O" @+ B0 j' X1 u
source "drivers/usb/media/Kconfig"6 e5 m) F) B9 l: K& s' E, R; }
[linux@weijing usb]$ vi Makefile* ^# J. T! h* Z% O/ G9 j
添加
6 G; b9 A: T! a7 o' R: f: ^7 b% wobj-$(CONFIG_USB_SPCA5XX) += media/
: w2 o$ ]) \$ j tb) 为添加 gspcav1-20071224 编译选项,在 media 下新建 Kconfig、Makefile 文件。/ m- E; H/ O9 J. f) h0 V
[linux@weijing media]$ pwd) a9 o0 T1 b, Q2 }
/work/kernel/linux-2.6.22.6/drivers/usb/media
/ C0 L; r' C, V[linux@weijing media]$ vi Kconfig7 n% R& X( {- Z9 \2 f# j. g
#
& E6 j6 ]$ t* ] L: |6 ]# USB Multimedia device configuration
: W, ]4 j6 j {#
( i# B( e2 X4 M5 x6 t6 qcomment "USB Multimedia devices"
$ x! f7 O- N2 W& I depends on USB
; Z; G( i4 j) a% m# f0 kconfig USB_SPCA5XX
3 Z: d% ~! n9 G; B6 i# R# } tristate "USB SPCA5XX Sunplus/Vimicro/Sonix jpeg Cameras"# L1 u8 |8 O! F) F$ Z) U
depends on USB && VIDEO_DEV/ Z. i8 [4 e, Y" ^
---help---9 F- d% x, Y5 e% N
Say Y or M here if you want to use one of these webcams:
5 N5 O$ N! `, y2 x# G" `: \- e6 k" M The built-in microphone is enabled by selecting USB Audio support.- ?" F G% A* x: E& m8 i# |5 e
This driver uses the Video For Linux API. You must say Y or M to
! k. Z$ B" Z6 E# \9 O "Video For Linux" (under Character Devices) to use this driver.4 S4 Y& x3 V& q! r% B/ o: X# f4 J
Information on this API and pointers to "v4l" programs may be found# O- {1 R4 \9 M
at <Documentation/video4linux/API.html>.: ]' A4 h0 j$ ?
To compile this driver as a module, choose M here: the/ o! \; ~0 z2 ^* M6 f& h# e9 d
module will be called spca5xx.' W, ] h$ Q* @( o7 G8 R2 i
[linux@weijing media]$ vi Makefile- D% S8 }: `* f. I
#
0 q# `3 V W7 Y& i. [# Makefile for USB Media drivers: b$ v( f$ v6 g/ {8 D, V J" y
#( k( ~. M( k: x% I7 k
obj-$(CONFIG_USB_SPCA5XX) += gspcav1-20071224/4 o! K i6 n! y5 D0 ]* U
c) 修改 gspcav1-20071224 的 Makefile
; f$ K' H$ }7 h6 H7 Z6 m7 X[linux@weijing gspcav1-20071224]$ pwd
|6 b+ c& H; t! H9 b2 f/work/kernel/linux-2.6.22.6/drivers/usb/media/gspcav1-20071224; `3 M- [+ B+ m, X! a
[linux@weijing gspcav1-20071224]$ vi Makefile4 V# Z% i. d. C% b* S! e3 @( {
gspca-objs := gspca_core.o decoder/gspcadecoder.o2 C9 I8 m |" H: e! x; i3 n
obj-$(CONFIG_USB_SPCA5XX) += gspca.o3 e1 a- W4 C q6 r; @6 f1 B0 K
clean:
5 Z8 V. `" H2 p: D. ?) d rm -f *.[oas] .*.flags *.ko .*.cmd .*.d .*.tmp *.mod.c
# v# d* p7 s- k: @ rm -RF .tmp_versions
3 `& h7 D& @ o: _4 O, G2 t6 Wd) 编译内核 (1)Multimedia devices --->
+ \# ?4 B4 a9 f4 M" b! E3 b6 V7 T3 y; ? Video For Linux, @6 r/ t) O* g" C$ q3 p
(2) USB support --->
8 U2 m* q* L m- J1 z Support for Host-side USB0 ?7 B( J1 D9 N9 l
--- USB Host Controller Drivers
3 Z4 z0 `- x' a0 s: j7 t* i4 { OHCI HCD support( @: ~+ r& Q) g4 D& n3 m$ W2 a
(3)--- USB Multimedia devices
5 \1 W; F; C7 m9 e2 C6 I USB SPCA5XX Sunplus/Vimicro/Sonix jpeg Cameras 此时,可能会提示 gspca_core.c 的一些轻微错误,稍作修改即可:
0 q+ {" ^. a7 u% Y//static const char gspca_version[] = GSPCA_VERSION;1 S# E# V0 P/ k& j+ R! L0 E6 r. x
static const char gspca_version[] = "00.60.00";
( W7 }$ }9 _! d8 w" y把新生成的 uImage 烧进开发板,重启,插上中星微芯片的摄像头,命令行出现
+ A- E' d2 u# T& V# usb 1-1: new full speed USB device using s3c2410-ohci and address 2
" u! u! m) u/ E6 J% c- `1 Fusb 1-1: configuration #1 chosen from 1 choice . _0 N+ x- f$ U1 ~5 H& D
drivers/usb/media/gspcav1-20071224/gspca_core.c: USB GSPCA camera found.(ZC3XX)) c- N5 I4 p4 N; ` T/ H3 _
说明移植的驱动已经能识别设备,设备名所在路径 /dev/video0。
" A8 ?$ P' }3 w" ]" J2 p二、servfox
6 P$ d) P' Y5 w+ l) L2 a2 P 服务器端程序用是servfox,通过它可以在PC上看到开发板采集来的图像,从这里下载 http://mxhaard.free.fr/spca50x/embedded/Servfox/servfox-R1_1_3.tar.gz
, N7 j; P4 a. C" W: ~% i下载,解压,进入其目录,发现没有一个makefile.arm,还有一个makefile.386,将makefile.arm改名为makefile,然后输入命令 make,生成 servfox 可实行文件,copy 到开发板运行之: # ./servfox -d /dev/video0 -g -s 640x480 -w 7070
1 b# j5 K% }, X" U5 [servfox version: 1.1.3 date: 11:12:2005 (C) mxhaard@magic.fr$ k( _" E9 \% H6 N4 M3 `
wrong spca5xx device + ], b% ^; {' ]3 l
Waiting .... for connection. CTrl_c to stop !!!! + D3 b: \! O1 J! l! t5 E& n7 M
Got connection from 192.168.1.2
/ p$ ]- d% }, R4 U1 F三、spcaview3 [* g2 x% o6 N, I6 Y
客户端程序使用的是spcaview,下载地址为: http://mxhaard.free.fr/spca50x/Download/spcaview-20061208.tar.gz2 Q6 A* f4 {/ G0 B# A4 p$ d
这个程序在PC 上运行,直接解压编译,生成 spcaview 可实行文件,运行如下: [root@weijing spcaview-20061208]# ./spcaview -g -w 192.168.1.17( \9 ~& C' D6 `4 f% D, `
Spcaview version: 1.1.7 date: 06:11:2006 (C) mxhaard@magic.fr
& F# M* U4 {6 }4 {$ rERROR Set default port to 7070 2 o: v6 K7 R/ f% z
using Server 192.168.1.17 Port 7070 ) h9 F. Y3 P0 a. L- Z& \( [, w" ?+ Q
bright 32768 contrast 32768 9 _* |0 ]2 w3 O( G1 `, ~/ h M- ?
1 a0 K e* F5 k9 f2 y& \# T
1 R! o |3 E/ i
|