一、概述
此文档介绍了基于ZingSK运行USB摄像头视频采集与QT显示存储的必要的步骤。此文档所有命令均是在Ubuntu12.04 x86_32操作系统下完成。
硬件平台:ZingSK开发套件
开发环境:Windows7-32位、VMware 9.0 + Ubuntu 12.04、arm- xilinx- linux-gnueabi交叉编译环境
嵌入式Linux: zynq_base_trd_14.3(基于ZingSK修改)
USB摄像头视频采集例程 运行需要一系列二进制文件如下表所示:
文件名
描述
BOOT.BIN
由EDK bootgen工具创建,包含 FSBL (First Stage Boot Loader), FPGA bit-stream, U-Boot(基于zynq_base_trd_14.3构建)
uImage
Linux kernel
devicetree.dtb
Device Tree Blob
uramdisk.image.gz
根文件系统
init.sh
挂载Qt运行库,运行camera-qt
qt_lib.img
Qt运行库(4.7.3)
camera_qt
USB-camera例程
表1-1
二、软件设计
V4L2是Linux环境下开发视频采集设备驱动程序的一套规范(API),它为驱动程序的编写提供统一的接口,并将所有的视频采集设备的驱动程序都纳入其的管理之中。
常用的IOCTL接口命令在include/linux/videodev2.h中定义
VIDIOC_REQBUFS //分配内存
VIDIOC_QUERYBUF //把VIDIOC_REQBUFS中分配的数据缓存转换成物理地址
VIDIOC_QUERYCAP //查询驱动功能
VIDIOC_ENUM_FMT //获取当前驱动支持的视频格式
VIDIOC_S_FMT //设置当前驱动的频捕获格式
VIDIOC_G_FMT //读取当前驱动的频捕获格式
VIDIOC_TRY_FMT //验证当前驱动的显示格式
VIDIOC_CROPCAP //查询驱动的修剪能力
VIDIOC_S_CROP //设置视频信号的矩形边框
VIDIOC_G_CROP //读取视频信号的矩形边框
VIDIOC_QBUF //把数据从缓存中读取出来
VIDIOC_DQBUF //把数据放回缓存队列
VIDIOC_STREAMON //开始视频显示函数
VIDIOC_STREAMOFF //结束视频显示函数
VIDIOC_QUERYSTD //检查当前视频设备支持的标准,例如PAL或NTSC。
软件流程图:
软件GUI:
三、快速开始
在ZingSK上启动ZingSK运行USB摄像头视频采集与QT显示存储例程需要一下几步:
· 格式化TF并将表1-1中所有文件拷贝到其中。
· 将TF卡插入ZingSK的TF卡插槽中。
· 确保ZingSK板卡跳线正确设置为TF卡启动模式。
6V电源、USB-UART连接线、7寸LCD显示屏 USB-hub
以下分步介绍:
开发板连接6 V电源(JP1)并连接7寸LCD显示屏,不要打开电源。
图 1-1
将包含了USB摄像头视频采集与QT显示存储例程二进制文件的TF闪存卡,插入到ZingSK开发板的TF卡插槽内。
图 1-2
用USB Type-A -USB Mini-B 电缆连接开发板UART与电脑.
图 1-3
连接USB-hub、鼠标、摄像头
图1-4
使用“设备管理器”,以确定COM端口。 打开一个串口调试程序,配置为115200/8/n/1/n。
图 1-5
图 1-6
打开电源开关(SP1) ,开发板上电运行。
图 1-7
在串口调试工具的窗口将会显示Linux的引导过程。
图 1-8
约半分钟左右,显示器上将会出现Qt界面,可以通过连接鼠标操作程序。
图 1-9
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>