天天看點

移植ZC301攝像頭到linux下

Arm-Linux攝像頭驅動程式的移植1:http://blog.csdn.net/yinzhouna/article/details/6069282

Arm-Linux攝像頭驅動程式的移值2:http://178as178.blog.163.com/blog/static/762350652010333285148/

以下文章裝載自賣家提供的技術文檔,以廣大網友共同分享:

1,編譯核心,支援zc301

linux核心在2.6.35以後就已經很好的支援zc301攝像頭了,是以我們在核心配置中啟用zc301驅動即可

首先進入飛淩官方的2.6.36核心源碼包

#cd /opt/linux-2.6.36.2

#cp .config .configold   儲存原始配置檔案

#cp FORLINX6410_CFG .config  使用飛淩配置檔案

#make menuconfig  進入配置界面增加zc301驅動

進入配置界面後

  Device Drivers -->

     <*>Multimedia support --->

          <*>Video For Linux

          <*>Video capture adapters --->

                <*>V4L USB devices --->

                       <*>USB Video Class

                              <*>UVC input events device support

                       <*>GSPCA based webcams -->

                                <*>ZC3XX USB Camera Driver

然後配置USB選項

  Device Drivers -->

    <*>USB Support --->

         <*>Support for Host_side USB

         <*>USB announce new devices

最後退出儲存

#make zImage

然後在源碼目錄/arch/arm/boot/下找到zImage利用DNW将新核心下載下傳至ok6410開發闆即可

開發闆重起後,新核心就應該自帶了zc301驅動,而且我們剛才配置USB時設定了有新裝置接入會自動顯示

插入zc301攝像頭後,PC端minicom顯示如下:

new full speed USB device using s3c2410-ohci and address 2

usb 1-1: New USB device found, idVendor=0ac8, idProduct=301b

usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0

usb 1-1: Product: PC Camera

usb 1-1: Manufacturer: Vimicro Corp.

gspca: probing 0ac8:301b

zc3xx: probe sensor -> 000a

zc3xx: Find Sensor PB0330. Chip revision 0

input: zc3xx as /class/input/input2

gspca: video2 created

系統已經識别出攝像頭zc301,sensor PB0330,自動為攝像頭建立了裝置檔案video2

接下來就是對這個攝像頭進行測試了:

[[email protected]]# cd /opt/video/       這個檔案夾内有我自己寫的一個測試攝像頭的程式

[[email protected]]# ls

image_get-arm  image_get.c

[[email protected]]# ./image_get-arm        運作該程式

devicename -->PC Camera

devicetape -->1

channels -->1

maxwidth -->640                                         zc301分辨率設定為640*480

maxheith -->480

minwidth -->48

minheith -->32

d8ff

get BMP form video      [OK]     因為zc301采用硬體壓縮晶片,傳回來的圖檔是jpg格式的,是以此程式

[[email protected]]# ls         将JPG解壓了一遍并存儲,這樣檔案夾下就有2個内容一樣的圖檔了,BMP是24位圖

image.bmp      image.jpg      image_get-arm  image_get.c

[[email protected]]# ls -l       2個格式大小相差很大,畢竟JPG是壓縮的,呵呵

total 980

-rw-r--r--    1 root     root        921654 Aug 11  2011 image.bmp

-rw-r--r--    1 root     root         16331 Aug 11  2011 image.jpg

-rwxr-xr-x    1 root     root         29824 Aug 11  2011 image_get-arm

-rw-------    1 root     root         23059 Aug 11  2011 image_get.c

繼續閱讀