EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Kernel version :2.6.22.6
D: c4 u% X- n! b, f+ YCrosstool :ARM-linux-gcc-3.4.5+ Z( U2 u& _: r W. g" b4 R
Board :FS2410 System :Fedora 8
" F S0 `+ r# T# Z; XSource :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.gz9 l2 n2 f4 e! d% T
FS2410开发板上移植的是Linux-2.6.22.6内核,USB及CS8900A均能工作,由于linux-2.6.22.6/drivers/usb 目录下没有 media 目录,故移植步骤如下:/ b8 r0 w' h: O0 ]0 J' |% b9 l# ?
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 文件。 x* y P( F" d" C: ^' ~3 F1 K
[linux@weijing usb]$ pwd9 h7 q3 J& a: m( g1 g* g5 Y* S
/work/kernel/linux-2.6.22.6/drivers/usb- W, \" m. u( _! W+ N& z1 O
[linux@weijing usb]$ vi Kconfig. G! y) q- b9 B9 X7 |
添加6 p9 g* P/ z) [4 U
source "drivers/usb/media/Kconfig"% ]2 Q! Y2 Y" c: q( v9 d+ z
[linux@weijing usb]$ vi Makefile% a7 ~3 j1 L8 W/ b8 u
添加/ |( r5 m$ f! z/ K
obj-$(CONFIG_USB_SPCA5XX) += media/
9 T6 d j- K, n3 v! K3 @3 Fb) 为添加 gspcav1-20071224 编译选项,在 media 下新建 Kconfig、Makefile 文件。# J, H. A" j; q- q7 t8 I
[linux@weijing media]$ pwd3 J+ \1 v7 S, ~
/work/kernel/linux-2.6.22.6/drivers/usb/media( c3 w0 |, u- F( ]
[linux@weijing media]$ vi Kconfig' {* l6 {1 G7 |* I8 i( g
#/ ^! F" `! F! }7 |( O5 j( E
# USB Multimedia device configuration, {1 Q$ u' w) X3 w. t
#
. {6 Y5 ~4 U9 r8 M) E4 g1 `comment "USB Multimedia devices"
" [3 U1 Z0 U# S B" Z' A, h depends on USB
; x# t/ j5 W) d+ Fconfig USB_SPCA5XX9 k9 n" D: q% v
tristate "USB SPCA5XX Sunplus/Vimicro/Sonix jpeg Cameras"
- y9 D$ n; t1 Q; `% @' {6 g% h- d% P depends on USB && VIDEO_DEV# [. B/ M9 j# Y3 `
---help---
2 g" V# g: }! ?0 ~% y Say Y or M here if you want to use one of these webcams:
' d# M) D' Y9 Y. y The built-in microphone is enabled by selecting USB Audio support.
$ L" D; a6 q7 `2 g9 M This driver uses the Video For Linux API. You must say Y or M to
% k, G; L2 m5 y; ] "Video For Linux" (under Character Devices) to use this driver.; P4 N4 i, g+ F j$ [
Information on this API and pointers to "v4l" programs may be found0 B/ G9 A8 J8 F/ q: v5 T' r0 K
at <Documentation/video4linux/API.html>.8 I, \9 `# C! ]0 N
To compile this driver as a module, choose M here: the
0 M4 K5 |: |% y& G module will be called spca5xx.% s6 ^; i0 m6 q, _" Z: u
[linux@weijing media]$ vi Makefile
) V6 Q* \/ J& R8 m#
1 j. O6 o/ E+ t5 t( [: l# S+ l1 h# Makefile for USB Media drivers
3 \% T, N+ L4 y, D' _6 E#( A4 b, t7 U( y2 Y& C
obj-$(CONFIG_USB_SPCA5XX) += gspcav1-20071224/. ~1 O5 O! W. x$ @+ f! Q
c) 修改 gspcav1-20071224 的 Makefile
5 S6 ]+ U( e! m" ^[linux@weijing gspcav1-20071224]$ pwd
& R ]- S# g6 [/ m _/work/kernel/linux-2.6.22.6/drivers/usb/media/gspcav1-20071224
" a: }7 t1 J$ C1 ~; \ W[linux@weijing gspcav1-20071224]$ vi Makefile; g5 a4 [1 Q0 p' M
gspca-objs := gspca_core.o decoder/gspcadecoder.o' ~, E& X/ n1 J; \& N
obj-$(CONFIG_USB_SPCA5XX) += gspca.o9 K* y- u( @ ]6 w; i
clean:& ^# r( T7 I8 L+ @- e
rm -f *.[oas] .*.flags *.ko .*.cmd .*.d .*.tmp *.mod.c " c1 q; V4 v( \" S2 B: R4 Y/ w
rm -RF .tmp_versions
" X/ u$ s0 ~# {( F. Vd) 编译内核 (1)Multimedia devices --->3 ]$ W0 A2 Z/ y1 ]
Video For Linux
$ \0 A w4 F' q8 {5 {(2) USB support --->2 j. r8 F# V+ X) \$ e
Support for Host-side USB4 T' Q' w( q/ w9 z8 W2 ?
--- USB Host Controller Drivers 9 ?. e! o# m* o$ t# V4 X! p1 r7 v% T
OHCI HCD support
8 ?1 K5 `: Q' O4 p5 U(3)--- USB Multimedia devices
' P, n5 Y5 K6 N9 ] USB SPCA5XX Sunplus/Vimicro/Sonix jpeg Cameras 此时,可能会提示 gspca_core.c 的一些轻微错误,稍作修改即可:
% L7 `! n% T9 L! F/ X! t! b+ e( [//static const char gspca_version[] = GSPCA_VERSION;. E7 j: l! d( ]- k* T# ?4 r* m
static const char gspca_version[] = "00.60.00";) \1 U4 _8 D( L; ~; n- P5 l
把新生成的 uImage 烧进开发板,重启,插上中星微芯片的摄像头,命令行出现* F+ Y0 J1 y; h) n* V0 R
# usb 1-1: new full speed USB device using s3c2410-ohci and address 2 c) ~1 l" e2 b, g( \$ p
usb 1-1: configuration #1 chosen from 1 choice - {. |, o; Q) O) w
drivers/usb/media/gspcav1-20071224/gspca_core.c: USB GSPCA camera found.(ZC3XX)
* {5 O( p7 B4 y3 p& A0 Q. |# J1 y说明移植的驱动已经能识别设备,设备名所在路径 /dev/video0。
9 h* N4 `, [/ O二、servfox
# w0 S+ T" D/ \& k- m' D& U: q1 b4 _ 服务器端程序用是servfox,通过它可以在PC上看到开发板采集来的图像,从这里下载 http://mxhaard.free.fr/spca50x/embedded/Servfox/servfox-R1_1_3.tar.gz3 u& c% o) G* Q0 U5 J) G. y6 ]6 B
下载,解压,进入其目录,发现没有一个makefile.arm,还有一个makefile.386,将makefile.arm改名为makefile,然后输入命令 make,生成 servfox 可实行文件,copy 到开发板运行之: # ./servfox -d /dev/video0 -g -s 640x480 -w 7070 / }* k' T, g0 |4 O! s# b
servfox version: 1.1.3 date: 11:12:2005 (C) mxhaard@magic.fr
+ V5 }3 N% _5 U6 A" Cwrong spca5xx device , N/ x' u: c, W4 u) I$ N5 p' s
Waiting .... for connection. CTrl_c to stop !!!!
. S8 V( U. ?! P5 vGot connection from 192.168.1.2
% U! q$ A* j4 ^' c0 U三、spcaview
* R$ p% @+ Z# Y6 h* ?3 i客户端程序使用的是spcaview,下载地址为: http://mxhaard.free.fr/spca50x/Download/spcaview-20061208.tar.gz7 J: p( r) P6 v1 ^. c" U/ l
这个程序在PC 上运行,直接解压编译,生成 spcaview 可实行文件,运行如下: [root@weijing spcaview-20061208]# ./spcaview -g -w 192.168.1.17: `& A3 b# x+ b# o$ R& D0 ]. q
Spcaview version: 1.1.7 date: 06:11:2006 (C) mxhaard@magic.fr
8 f1 d& ?- U5 Z/ Q, ^5 h: _9 B5 |ERROR Set default port to 7070
1 r( r0 ]8 X- ~( r/ E% r wusing Server 192.168.1.17 Port 7070 1 o/ ]1 M! m4 S9 a2 y1 v( a# \
bright 32768 contrast 32768 h& s7 ?# |( h9 R
- k# |" c& @( Y5 D. b
" r3 Z5 O5 r6 {2 Z9 J' ` |