Linux2.6.33下ZC301USB摄像头使用教程
来源:互联网 发布:尔雅网络 编辑:程序博客网 时间:2024/06/05 12:48
Linux2.6.33下ZC301USB摄像头使用教程
华清远见-嵌入式领域著名讲师 O(∩_∩)O 牛牛猛 点击链接加我好友! 欢迎大家去我CSDN博客上踩踩 我的个人主页
要想在中芯优电的TE-2440开发板上使用使用USB接口的USB摄像头,需要作出比较多的工作,如:内核配置,编译器配置,依赖库编译,应用程序的编译等等,下面的这个教程主要用来介绍如何远程使用TE-2440下的摄像头。
1. 编译器配置
编译器配置编译器采用的版本是
// 解压
tar –xf EABI-Top-Elec-Gcc-
// 配置环境变量,将bin目录添加到PATH环境变量中
gedit /etc/environment
// 使其生效,注意此命令只会使当前终端生效,并不影响其它终端中的执行
source /etc/environment
// 检测安装成功,显示arm-linux-gcc所在文件位置
which arm-linux-gcc
2. 内核配置
教程需要的是基于
由于我们使用的摄像头是基于ZC301芯片的,以前由于
所以在
1.进入内核文件,执行make menuconfig
make menuconfig
2.选择Device Drivers ---->进入
在Linux-2.6.30.4 的内核中,我们没有从外部移植USB 摄像头的驱动,而直接采用了内核自带的USB摄像头驱动,那么我们以前针对USB 摄像头做的网络摄像头控制程序就不能使用了(原来的servfox 代码需要修改),下面我们使用新的方法测试我们的摄像驱动。
我们选用ZC301 系列摄像头为例调试自己的摄像头驱动,最后完成我的测试功能。
配置内核时有两个关于ZC301的驱动要选中!参考下图
Device Drivers --->
Multimedia devices --->
*** Multimedia core support ***
<*> Video For Linux
[*] Enable Video For Linux API 1 (DEPRECATED)
[*] Video capture adapters --->
--- Video capture adapters
<*> OV9650 Drivers for EmbedSky SKY2440/TQ2440 Board
[*] V4L USB devices --->
--- V4L USB devices
<*> USB Video Class (UVC)
[*] UVC input events device support
<*> GSPCA based webcams --->
--- GSPCA based webcams
… …
<*> ZC3XX USB Camera Driver
<*> USB ZC0301[P] Image Processor and Control Chip support
修改Makefile文件:
#ARCH ?= $(SUBARCH)
#CROSS_COMPILE ?=
ARCH ?= arm
CROSS_COMPILE ?= arm-softfloat-linux-gnu-
之后便可编译,由于上面采用的是生成了模块,所以我们可以在drivers/media目录下找到*.ko文件,等我们将内核在开发板上运行起来后,便可插入模块,为了方便,我建立了v4lkoes文件夹,加入了ko文件,并写了对应的Shell文件,如下:
#!/bin/bash
cd /v4lkoes
insmod v
echo "insmod v
insmod videodev.ko
echo "insmod videodev.ko"
insmod v
echo "insmod v
insmod v
echo "insmod v
insmod uvcvideo.ko
echo "insmod uvcvideo.ko"
insmod zc0301.ko
echo "insmod zc0301.ko"
insmod gspca_main.ko
echo "insmod gspca_main.ko"
insmod gspca_zc3xx.ko
echo "insmod gspca_zc3xx.ko"
运行这个Shell之后,然后插入摄像头,运行一下命令,如果发现/dev/video0文件,说明我们已经正确的配置成功了:
ls /dev/v*
1. 编译jpeg库
下载jpeg源文件,文件名jpegsrc.v6b.tar.tar,步骤有三,解压,编译,安装:
解压:
tar –xf jpegsrc.v6b.tar.tar
编译:
修改Makefile文件,设置CC交叉编译器名称,和安装的库及头文件的位置
make 安装: make install 经过查看安装目录后,发现并没有将头文件、库文件复制到该目录下,所以我们还需要查看Makefile,发现安装库文件、头文件,还需要运行以下命令即可;另外需要注意的一点是在安装时可能会出现文件夹无法建立,所以我们需要自己根据提示在安装目录下创建lib,includes,man/man1,bin文件夹。 mke install-libs 下载SDL源文件,文件名SDL- 下载mjpg-streamer源文件,文件名为mjpg-streamer-r63.tar.gz,步骤有三: 解压: tar –xf jpegsrc.v6b.tar.tar 编译,由于mjpg-streamer采用基于插件的方式运行,所以我们在修改顶层目录Makefile时,还需要修改plugins文件夹下的Makefile文件,首先需要修改顶层和plugins文件夹下的Makefile,设置交叉编译器: CC ?= arm -linux-gcc 当我们如此编译时,可能会报错,错误来源于plugins目录下input_uvc文件夹,缺少头文件,于是我们需要进入到该目录下,修改器Makefile文件: 此时,可建立文件夹mjpg,然后将*.so、mjpg_streamer放入其中,然后移到开发板中,运行: mkdir mjpg mv *.so mjpg mv mjpg_streamer mjpg 运行如下命令,即可将程序运行起来,之后,我们便可在Windows下运行windows端测试程序.exe,连接开发板的IP地址,即可查看到图像: mjpg_streamer -i ". /input_uvc.so –d /dev/video0" -o "./output_http.so -w 192.168.1.6:8080" 下载pdf格式文件www.top-elec.com/admin/Download/File/20100620023051摄像头使用教程.pdf
- Linux2.6.33下ZC301USB摄像头使用教程
- Linux2.6.33下ZC301USB摄像头使用教程
- MATLAB下使用摄像头
- Ubuntu下使用摄像头
- ROS下使用摄像头
- opencv下使用摄像头
- linux2.4下DMA的使用
- linux2.4下DMA的使用
- ubuntu下使用UVC摄像头
- ubuntu下使用UVC摄像头
- ubuntu下使用UVC摄像头
- ubuntu下使用UVC摄像头
- OpenWRT下使用UVC摄像头
- 树莓派USB网络摄像头使用教程
- Win7下使用VFW库连接摄像头
- Win7下使用VFW库连接摄像头
- xp下摄像头无法使用,服务正常
- Qt下使用OpenCV捕获摄像头
- 珍惜与探索
- C#实现窗体抖动
- 随笔啦
- 郁闷啊
- 我读《算法之道》的体会
- Linux2.6.33下ZC301USB摄像头使用教程
- Java语言写的简易的日历
- J2ME使用 RecordStore存储读取记录
- 学习SimpleRMS 最简单的例子
- 汉诺塔问题(三阶梵塔问题)
- 呵呵
- 现在的美女都不喜欢程序员
- 现在的美女都不喜欢程序员
- 无关