EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Kernel version :2.6.22.6# D5 v- ], v- E+ c) W
Crosstool :ARM-linux-gcc-3.4.5 F8 c. `0 r+ `& }, d: m' r2 ~
Board :FS2410 System :Fedora 8
$ |8 ^% K& U, E! t" wSource :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& f X+ k9 s, B. l& @
FS2410开发板上移植的是Linux-2.6.22.6内核,USB及CS8900A均能工作,由于linux-2.6.22.6/drivers/usb 目录下没有 media 目录,故移植步骤如下:7 @1 F* q1 c4 U2 a) F( Y7 y3 J4 E
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 ~) _+ l0 A[linux@weijing usb]$ pwd
/ ~9 ]) s3 }; j* a% V6 R# |: v3 `/work/kernel/linux-2.6.22.6/drivers/usb
% S* |) x, ?- E8 S0 u# I" @[linux@weijing usb]$ vi Kconfig/ M+ I1 O7 r, M" l* T. U I
添加
3 b2 P5 c" r) U: I- g/ I- Isource "drivers/usb/media/Kconfig", A* t: L5 Y0 e5 _6 \9 e
[linux@weijing usb]$ vi Makefile
9 X t4 Q9 {/ i/ @2 W添加
. O1 D8 W S5 x( N5 q, M Bobj-$(CONFIG_USB_SPCA5XX) += media/
( K1 d1 |2 f8 t; [9 K$ tb) 为添加 gspcav1-20071224 编译选项,在 media 下新建 Kconfig、Makefile 文件。6 v7 j/ u9 E- g8 w O1 P2 a$ N
[linux@weijing media]$ pwd# y9 M4 d0 W, ]2 ~6 {3 a
/work/kernel/linux-2.6.22.6/drivers/usb/media5 ]1 \: D3 \1 R- I
[linux@weijing media]$ vi Kconfig
s# \$ g h9 m#' Z- q v0 Z; G3 ]# e$ e
# USB Multimedia device configuration
4 }) ]; b; S' M5 }0 I: ^$ i#
& @, Q/ }7 b b0 b: u9 | wcomment "USB Multimedia devices"1 [. y9 z7 k9 F9 A
depends on USB6 I# \9 K# c; V- M& H" Z& Z6 P3 f3 j
config USB_SPCA5XX
3 O. D* j9 F+ b; C# E tristate "USB SPCA5XX Sunplus/Vimicro/Sonix jpeg Cameras"# q/ w3 F! I/ ^; U: N
depends on USB && VIDEO_DEV
( V: P6 @* l9 ^' R5 T ---help---
6 T! \* ]! ?# x k2 v Say Y or M here if you want to use one of these webcams:* n* [8 H* Q: a3 c: x. k
The built-in microphone is enabled by selecting USB Audio support.
, P+ }9 c0 s5 _- J0 x9 |" e This driver uses the Video For Linux API. You must say Y or M to; b3 p1 N2 s m9 |
"Video For Linux" (under Character Devices) to use this driver.
( [# h/ j9 J" _+ w1 U Information on this API and pointers to "v4l" programs may be found
7 s$ @: R; W3 Z" H L. N% P/ T at <Documentation/video4linux/API.html>.# B+ {6 S+ f% |- ^+ l1 C
To compile this driver as a module, choose M here: the: W. o7 k, Q2 F* J' \+ y _: ^
module will be called spca5xx." u6 |1 j! O8 [+ u, }
[linux@weijing media]$ vi Makefile. f1 A! X. F# P3 Y" S! P
#
# T: U' l2 u1 z# Makefile for USB Media drivers
& Q, G& J. f; j9 j+ B#
8 H$ X( h1 o# Gobj-$(CONFIG_USB_SPCA5XX) += gspcav1-20071224/4 e3 b# [+ M6 y# |6 v
c) 修改 gspcav1-20071224 的 Makefile2 C7 P# m* B1 J
[linux@weijing gspcav1-20071224]$ pwd0 H7 x1 f/ i$ ?$ p* ^" H
/work/kernel/linux-2.6.22.6/drivers/usb/media/gspcav1-200712241 A. K8 I q+ c2 n+ S+ _7 K
[linux@weijing gspcav1-20071224]$ vi Makefile5 n4 x; d! Y# Z( ^
gspca-objs := gspca_core.o decoder/gspcadecoder.o
! I2 b9 M3 P! S& ?obj-$(CONFIG_USB_SPCA5XX) += gspca.o* Z+ y* ?1 n9 j" X+ p
clean:
( q! T* f1 P0 i% ]; F8 p rm -f *.[oas] .*.flags *.ko .*.cmd .*.d .*.tmp *.mod.c
1 M" d( m/ q- b rm -RF .tmp_versions
' {2 m' S% J" _d) 编译内核 (1)Multimedia devices --->; {/ r2 L$ v+ _# a
Video For Linux& [5 C; H8 r& N
(2) USB support --->
# W" m: i$ R. z# q. W; X Support for Host-side USB
0 G! i( x4 w; [" n+ R" { --- USB Host Controller Drivers 9 E- U( g3 e- V; u
OHCI HCD support
3 n* x5 x: e! y# U4 V* Y+ ](3)--- USB Multimedia devices8 q2 k8 [- }7 s+ y. ^
USB SPCA5XX Sunplus/Vimicro/Sonix jpeg Cameras 此时,可能会提示 gspca_core.c 的一些轻微错误,稍作修改即可:
" Q6 k( A' J& J5 t: K8 |//static const char gspca_version[] = GSPCA_VERSION;' B! z# _; B( q/ k4 j
static const char gspca_version[] = "00.60.00";
* s) ]2 K; x% F; m& k* X把新生成的 uImage 烧进开发板,重启,插上中星微芯片的摄像头,命令行出现% D" F' o, s" W1 Y, m; L
# usb 1-1: new full speed USB device using s3c2410-ohci and address 2
; Z5 U: X$ P3 v! G4 C1 L1 y2 kusb 1-1: configuration #1 chosen from 1 choice " C4 p( W$ Z3 q; l! {/ `; M( }
drivers/usb/media/gspcav1-20071224/gspca_core.c: USB GSPCA camera found.(ZC3XX)
. u0 J) E9 q6 @7 z' b说明移植的驱动已经能识别设备,设备名所在路径 /dev/video0。/ k& e1 d2 p7 ^# h3 a
二、servfox
8 C( D1 L4 h5 [" g 服务器端程序用是servfox,通过它可以在PC上看到开发板采集来的图像,从这里下载 http://mxhaard.free.fr/spca50x/embedded/Servfox/servfox-R1_1_3.tar.gz
* `: A* z1 p) q) N) e# p下载,解压,进入其目录,发现没有一个makefile.arm,还有一个makefile.386,将makefile.arm改名为makefile,然后输入命令 make,生成 servfox 可实行文件,copy 到开发板运行之: # ./servfox -d /dev/video0 -g -s 640x480 -w 7070
: Y: t& G# W) A( iservfox version: 1.1.3 date: 11:12:2005 (C) mxhaard@magic.fr/ A8 _ j: j- C5 C% [
wrong spca5xx device
& n8 G+ a$ M: h0 \: |. Q9 M6 jWaiting .... for connection. CTrl_c to stop !!!! " v$ }3 ^: g6 I! G3 o+ o) x
Got connection from 192.168.1.2
# ~9 i* I! k+ t6 E4 l& Y三、spcaview
. K7 @' V! n L+ G, {客户端程序使用的是spcaview,下载地址为: http://mxhaard.free.fr/spca50x/Download/spcaview-20061208.tar.gz
. V# j- C. z$ M2 h这个程序在PC 上运行,直接解压编译,生成 spcaview 可实行文件,运行如下: [root@weijing spcaview-20061208]# ./spcaview -g -w 192.168.1.17% O# Y6 ], @, r$ [& v& `
Spcaview version: 1.1.7 date: 06:11:2006 (C) mxhaard@magic.fr
+ c) ^ z6 k9 T4 [. ~9 tERROR Set default port to 7070 ! ^) R) c9 W) d
using Server 192.168.1.17 Port 7070 " E, X2 i7 I( W+ F/ B% F- D4 X: b
bright 32768 contrast 32768
- ?# E8 \ T' L- _ b1 Z8 x$ W' k, Y9 v7 v) }, u5 l+ i5 n* ?
5 z4 N* a) r- w |