驱动arm板上的usb摄像头并验证

板子:君益兴的helper2416

配置内核,使能V4L,使其支持USB摄像头

kernel menuconfig

<*> Multimedia support  —>

<*>Video For Linux

<*>Video capture adapters  —>

<*>V4L USB devices  —>

<*> USB Video Class

<*>UVC input events device support

编译,运行板子,插上摄像头,如果成功会在/dev/下生成类似命名为video0的设备

测试USB摄像头的工具

luvcview  能够显示V4L驱动的摄像头视频的工具,

(注意,编译后不一定能正常工作,我编译的会segmentfault,不知道是什么问题,后面会介绍另一个工具)

http://openports.se/graphics/luvcview

下载最新的luvcview-20070512.tar.gz

luvcview 依赖于SDL

到sdl的主页

http://www.libsdl.org/download-1.2.php

下载源码,我下的是 SDL-1.2.15.tar.gz

交叉编译SDL

tar -xvf SDL-1.2.15.tar.gz

cd SDL-1.2.15/

./configure CC=arm-linux-gcc  --host=arm-linux --prefix=/usr/local/arm/arm446/ --disable-joystick --disable-cdrom --disable-esd --disable-nasm --enable-video-x11 --enable-video-fbcon
--enable-video-opengl --enable-osmesa-shared --disable-arts --without-x --enable-debug --enable-loadso --disable-video-directfb

make

make install

tar -xvf luvcview-20070512.tar.gz

cd luvcview-20070512/

修改Makefile

CC=arm-linux-gcc

CPP=arm-linux-g++

SDLLIBS = -L/usr/local/arm/arm446/lib -lSDL

SDLFLAGS = /usr/local/arm/arm446/include

make

使用frambuffer而没有x11情况下,我测试的helper2416会出现segmentfault

现在介绍另一款,依赖较少的软件

motion 是一款全命令行的摄像头监测软件

可以把捕捉到的图像保存成jpg等的格式图片

http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome

交叉编译motion

tar -xvf motion-3.2.12.tar.gz

cd motion-3.2.12/

./configure CC=arm-linux-gcc --host=arm-linux

make

在板子上直接运行./motion 就可以,估计要等一会它便会不断地在当前目录下生成图片,

便可证明摄像头驱动工作正常,作者:帅得不敢出门 程序员群:31843264

时间: 2024-10-29 19:12:25

驱动arm板上的usb摄像头并验证的相关文章

“hello world”驱动实现过程(ARM板上)

1.  在/home/sxy/目录下新建hello_1文件夹,在此文件夹下编写hello.c和Makefile文件(假设已经编写好了),make生成模块文件: PS:hello.ko就是用于需要使用的驱动模块. hello.c代码: Makefile代码: 注意Makefile文件中的黑色填充部分: ①选择交叉编译器: ②正确选择内核树所在目录(此内核即为开发板使用的内核). 2.  打开串口终端,启动开发板,将/home/目录挂载到开发板/tmp/hello/目录下: PS:insmod实现模

编译在arm板上使用的sqlite3的静动态库

采用的是sqlite-autoconf-3080002.tar.gz 解压 tar xvf sqlite-autoconf-3080002.tar.gz 进入 cd sqlite-autoconf-3080002/ 采用的是 arm-none-linux-gnueabi-gcc(g++)编译. ./configure --host=arm-none-linux-gnueabi --prefix=/home/liukang/sqlite-arm-linux LD=arm-none-linux-gn

.net core在Linux ARM板上运行

最近接了个临时任务,给别的项目组的机器人平台上开发个小程序,那机器人上跑的是ARM平台,ubuntu的系统. 本来打算用C++写的,由于最近用.net core较多,鉴于其在linux平台良好的兼容性,加上貌似.net core是能在arm平台上开发的.想到如果能在arm板上跑.net 程序,则无论是开发还是调试的效率都将大大提升. 抱着试一试的心情,打开了MS的.net core安装网站,发现其并没有提供arm平台的在线安装方式.本来以为凉了的,不过还是找到了其二进制的安装包?.NET Cor

《通过Web远程浏览并控制Tiny6410上的usb摄像头》---实战篇

时间不早了,简单介绍直奔主题哈 一.介绍 软件:Mjpeg‐stream 是一个开源软件,用于把mjpeg格式的文件变成流媒体输出. 平台:Tiny6410 硬件:普通usb摄像头 二.编译.安装方法不多讲,网上写的比较好的博文很多 三.pc上测试效果(只能用火狐,ie.360浏览器均不正常显示) 1>地址栏输入:http://192.168.1.107:8080/?action=stream     (视频) 2>或者地址栏输入:http://192.168.1.107:8080/?acti

在树莓派(Debian系统)上通过usb摄像头扫描识别QR二维码

树莓派(Debian系统)自带Python开发环境IDLE(Python 2.7.3),接上摄像头,就能通过Python实行对QR code的创建和识别: 首先,需要在树莓派上安装如下工具: sudo apt-get install python-imaging sudo apt-get install zbar-tools sudo apt-get install qrencode sudo apt-get install python-pygame 然后创建qrcode.py文件: #!/u

Linux USB摄像头驱动【转】

本文转载自:http://www.itdadao.com/articles/c15a509940p0.html 在 cortex-a8 中,可接入摄像头的接口通常可以分为两种, CAMERA 接口和 USB 接口的摄像头.这一章主要是介绍 USB 摄像头的设备驱动程序.在我们印象中,驱动程序都是一个萝卜一个坑,拿到一个硬件就需要去安装它相对应的驱动程序.有时候稍有不对还会导致电脑崩溃,是不是让人很郁闷?这一章我们讲 USB 摄像头设备驱动,那么是不是支持所有的 USB 摄像头驱动呢?带着这个疑问

ok6410驱动usb摄像头

为了做图像处理,需要用摄像头,搜到实验室只有一个摄像头,是国安的,具体参数在终端中看到: 本来担心这个摄像头在6410中能不能用,结果插上后得到如上显示,知道该摄像头是uvc的,可用,参考文章链接: http://www.cnblogs.com/emouse/archive/2013/03/03/2941938.html 在网上到处都可以下到ok6410摄像头测试程序,下载链接:http://download.csdn.net/download/harryching/5108478 于是下载后按

驱动控制开发板上的四个LED小灯

在上一章了解了开发linux驱动程序的步骤,在本章会完成一个真正意义上的linux驱动,该驱动用来控制开发板上的四个LED小灯,通过向驱动发送数据可以控制LED小灯的开关. 首先介绍了LED驱动的实现原理,虽然linux驱动直接与硬件打交道,但并不是linux驱动直接向硬件中的内存写数据,而是与本机的I/O内存进行交互.Linux内核的内存管理模块负责同步I/O内存与硬件中的数据.每一个连接linux的硬件在I/O内存中都会有映射首地址. 其次是编写LED驱动.以下创建一个设备文件,第一步:使用

USB摄像头驱动框架分析(五)

一.USB摄像头驱动框架如下所示:1.构造一个usb_driver2.设置   probe:        2.1. 分配video_device:video_device_alloc        2.2. 设置           .fops           .ioctl_ops (里面需要设置11项)           如果要用内核提供的缓冲区操作函数,还需要构造一个videobuf_queue_ops        2.3. 注册: video_register_device