歡迎您光臨本站 登入註冊首頁

讓嵌入式Linux支持普通USB攝像頭

admin @ 2014-03-25 , reply:0

概述

   我用的是最普通的usb攝像頭,主晶元為中星微ZC0301P(據說市場佔有率70%以上),COMS感測器為hynix的hv7131e1,市面上能買到的基本上是這種配置……

    我用的是最普通的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我不太懂,就不獻醜了。


[admin via 研發互助社區 ] 讓嵌入式Linux支持普通USB攝像頭已經有1737次圍觀

http://cocdig.com/docs/show-post-42804.html