Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1256692
  • 博文数量: 548
  • 博客积分: 7597
  • 博客等级: 少将
  • 技术积分: 4224
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-15 13:21
个人简介

嵌入式软件工程师&&太极拳

文章分类

全部博文(548)

文章存档

2014年(10)

2013年(76)

2012年(175)

2011年(287)

分类: 嵌入式

2011-09-24 22:30:21

ARM9平台移植中星微ZC0301P的USB摄像头  

 

ARM9平台移植中星微ZC0301P的USB摄像头

我用的是最普通的usb摄像头,主芯片为中星微ZC0301P(据说市场占有率70%以上),COMS传感器为hynix的,市面上能买到的基本上是这种配置。
linux下驱动,我直接移植spca5xx,现在出了spc5xx-le(Light-Edition for Linux Embedded)更方便,直接针对嵌入式系统做了优化,可以参考这里

刚才实验了一下,spc5xx-le也可以用。
具体步骤:
1、我的linux来在ATMEL最新版本,Linux-2.4.27-vrs1-Atmel。toolchain为arm-linux-2.95.3。
2、配置内核,试着让linux可以在at91rm9200上运行起来。
3、下载补丁(),打补丁
   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   选项下应该有
    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我不太懂,就不献丑了

 

http://li15902293256.blog.163.com/blog/static/176202066201011992857165/

阅读(1115) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~