让嵌入式Linux支持普通USB摄像头
2010-05-09 17:13
435 查看
我用的是最普通的usb摄像头,主芯片为中星微ZC0301P(据说市场占有率70%以上),COMS传感器为hynix的hv7131e1,市面上能买到的基本上是这种配置。
linux下驱动,我直接移植spca5xx,现在出了spc5xx-le(Light-Edition for Linux Embedded)更方便,直接针对嵌入式系统做了优化,可以参考这里http://mxhaard.free.fr/embedded.html
刚才实验了一下,spc5xx-le也可以用。下面就以spc5xx-le为例。
具体步骤:
1、我的linux是ATMEL最新版本,Linux-2.4.27-vrs1-Atmel。toolchain为arm-linux-2.95.3。
2、配置内核,试着让linux可以在at91rm9200上运行起来。
3、下载补丁(http://mxhaard.free.fr/spca50x/Doc/KernelPatch ),打补丁
cp usb-2.4.31.patch.gz /work/Atmel-9200-dist/linux-2.4.27-vrs1-ATMEL/drivers/usb
cd /work/Atmel-9200-dist/linux-2.4.27-vrs1-ATMEL/drivers/usb
tar -xvzf usb-2.4.31.patch.gz
patch -p1 < usb-2.4.31.patch
4、重新配置内核,内核 USB support ---> USB Multimedia devices 选项下应该有
<M> USB SPCA5XX Sunplus Vimicro Sonix Cameras,要把它配置成module。
5、让内核支持usb-ohci 和video for linux (V4L)。
6、重新编译内核,make dep Image module
make module 后,在/work/Atmel-9200-dist/linux-2.4.27-vrs1-ATMEL/drivers/usb/spc5xx/目录下生成spc5xx.o
7、加载新内核运行。
8、配置网络 ifconfig eth0 192.168.8.241
9、mknod /dev/video0 c 81 0
10、insmod spca5xx.o 会找到摄像头
[root@AT91RM9200DK /]$insmod spca5xx.o
usb.c: registered new driver spca5xx
spca_core.c: USB SPCA5XX camera found. Type Vimicro Zc301P 0x301b
spca_core.c: spca5xx driver 00.57.06LE registered
[root@AT91RM9200DK /]$
11、下面就是应用程序的问题了,我一直了一个webcam server,交叉编译后,可以在ARM上运行了。如果自己写,主要是熟悉v4l编程,关于v4l我不太懂,就不献丑了。
linux下驱动,我直接移植spca5xx,现在出了spc5xx-le(Light-Edition for Linux Embedded)更方便,直接针对嵌入式系统做了优化,可以参考这里http://mxhaard.free.fr/embedded.html
刚才实验了一下,spc5xx-le也可以用。下面就以spc5xx-le为例。
具体步骤:
1、我的linux是ATMEL最新版本,Linux-2.4.27-vrs1-Atmel。toolchain为arm-linux-2.95.3。
2、配置内核,试着让linux可以在at91rm9200上运行起来。
3、下载补丁(http://mxhaard.free.fr/spca50x/Doc/KernelPatch ),打补丁
cp usb-2.4.31.patch.gz /work/Atmel-9200-dist/linux-2.4.27-vrs1-ATMEL/drivers/usb
cd /work/Atmel-9200-dist/linux-2.4.27-vrs1-ATMEL/drivers/usb
tar -xvzf usb-2.4.31.patch.gz
patch -p1 < usb-2.4.31.patch
4、重新配置内核,内核 USB support ---> USB Multimedia devices 选项下应该有
<M> USB SPCA5XX Sunplus Vimicro Sonix Cameras,要把它配置成module。
5、让内核支持usb-ohci 和video for linux (V4L)。
6、重新编译内核,make dep Image module
make module 后,在/work/Atmel-9200-dist/linux-2.4.27-vrs1-ATMEL/drivers/usb/spc5xx/目录下生成spc5xx.o
7、加载新内核运行。
8、配置网络 ifconfig eth0 192.168.8.241
9、mknod /dev/video0 c 81 0
10、insmod spca5xx.o 会找到摄像头
[root@AT91RM9200DK /]$insmod spca5xx.o
usb.c: registered new driver spca5xx
spca_core.c: USB SPCA5XX camera found. Type Vimicro Zc301P 0x301b
spca_core.c: spca5xx driver 00.57.06LE registered
[root@AT91RM9200DK /]$
11、下面就是应用程序的问题了,我一直了一个webcam server,交叉编译后,可以在ARM上运行了。如果自己写,主要是熟悉v4l编程,关于v4l我不太懂,就不献丑了。
相关文章推荐
- 让arm-linux支持普通USB摄像头
- 基于嵌入式linux的usb摄像头的驱动及采集程序的实现
- 嵌入式linux系统支持usb wifi RTL8723BU
- Zedboard-Linux-digilent3.6内核版本不支持USB摄像头问题的解决方案
- Linux: 两个USB摄像头的数据采集问题(嵌入式)
- 嵌入式linux挂载usb文件系统,支持热插拔
- 查找linux内核支持的usb摄像头列表(UVC万能驱动)
- 嵌入式linux 系统支持usb wifi BL-R8723BT1
- 转: 嵌入式linux下usb驱动开发方法--看完少走弯路【转】
- Visual EmbedLinux Tools:让vs支持嵌入式Linux开发(转)
- Linux2.6.33下ZC301USB摄像头使用教程
- 嵌入式linux驱动-usb实现按键功能笔记
- linux使用USB摄像头
- Linux: 两个USB摄像头的数据采集问题
- 嵌入式板上使用USB摄像头问题
- USB键盘和鼠标在linux下的支持方式(RH7.2)
- 飞淩6410+linux2.6.28+USB摄像头 半成品案例(中)
- 让linux2.6.24内核在研发板支持usb鼠标
- Linux环境下USB的原理、驱动和配置--本文由CSDN 特别约稿,作者为北京中科红旗软件技术有限公司 嵌入式工程师 梁国军
- 瑞芯微RK3188如何配置USB摄像头支持