【目标】

在A20上同时对parallel同时使用parallel csi摄像头及usb摄像头进行preview。

【选型】

硬件选用主控为A20的CubieBoard2开发板。

软件SDK选用全志A20 Kitkat SDK中的lichee包。

【过程】

1、在linux-3.4的menuconfig中将uvc驱动选项打开,USB_VIDEO_CLAS设置成m,USB_VIDEO_CLASS_INPUT_EVDEV设置成y。

Device Drivers —>

Multimedia support —>

[*] Video capture adapters —>

[*] V4L USB devices —>

USB Video Class (UVC)

[*] UVC input events device support

2、在dragonboard中加入usb camera的testcase。全志dragonboard环境使用的是linux+DirectFb,可以参考既有的csi camera testcase代码进行添加。大致分为两步:

第一步,在df_view.c的csi camera test代码后加入启动usb camera test的代码

x2 = 0;

height2 = layer_config.height>>1;

y2 = layer_config.height>>1;

if(mic_activated)

{ width2 = (layer_config.width >> 1)-(layer_config.width>>MIC_POWER_BAR_WITH_SHIFT); }

else

{ width2 = (layer_config.width >> 1); }

if (usb_camera_test_init(x2,y2,width2,height2))

{ return -1; }

第二步,增加usbcameratest.c,usbcameratest.c包含了usb camera的初始化、打开、设置参数等核心方法,上文中的usb_camera_test_init函数实现也在这个源码文件里面。可根据以下流程编写usbcameratest.c,

这里,有几点需要注意,一是usb camera的数据格式是YUYV,所以在set format的时候,pixel format要设置成YUYV;二是usb camera的图像大小是640x480。

3、从CubieBoard2原理图可知,上面只能使用csi1接parallel csi camera,所以test_config.fex需要作以下修改

[camera]

activated = 1

module_count= 6

module1_path= "/system/vendor/modules/videobuf-core.ko"

module2_path= "/system/vendor/modules/videobuf-dma-contig.ko"

module3_path= "/system/vendor/modules/camera.ko"

module4_path= "/system/vendor/modules/gc0308.ko"

module5_path= "/system/vendor/modules/sunxi_csi1.ko"

module6_path= "/system/vendor/modules/uvcvideo.ko"

dev_cnt = 1

csi_cnt = 1

fps = 30

4、编译打包烧录

cd lichee

./build.sh -p sun7i_dragonboard

./build.sh pack

【结果】

下图LCD右上角为parallel csi camera preview,左下角为usb camera preview,两个摄像头均已打开并持续采集数据绘制以屏幕上。

【遗留问题及解决方案】

由于usb camera的数据格式是YUYV,LCD中usb camera preview区域的格式是YUV420,所以无法正确显示来自于usb camera的画面数据。解决此问题可考虑数据格式转换,将YUYV转成YUV420再绘制以屏幕上,实现转换可使用A20 G2D,效率更高。

linux csi 摄像头,A20 linux(dragonboard)同时使用Parallel CSI Camera及UVC相关推荐

  1. 支持linux系统摄像头模块,Linux系统上如何安装摄像头?

    Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intelx86系列CPU的计算机上.这个系统是由全世界各地的成千上万的程序员设计和实现的.其目的是建立不受任何商品化软件的版权制 ...

  2. linux 远程摄像头软件,Linux五大超经典网络监控工具推荐

    监测网络流量和保护数据及计算机一样重要,了解最基本的网络故障诊断和排除技巧有助于你节省时间和成本.每个Linux发行版都附带有大量的命令行工具帮助你诊断网络问题,此外还有很多开源工具可以帮助你跟踪恼人 ...

  3. Jetson Nano——使用JetCam官方库调用双CSI摄像头

    文章目录 环境准备 报错No nodule named 'traitlets' CSI摄像头测试代码 环境准备 参考官方配置方案: git clone https://github.com/NVIDI ...

  4. linux cmos摄像头,Linux摄像头驱动4——CMOS摄像头

    Linux摄像头驱动学习第四篇,对CMOS摄像头进行学习,实现在Tiny4412上使用CMOS摄像头采集图像,在LCD上显示图像. 坚持到了Linux摄像头学习的最后一部分--CMOS摄像头. 写完本 ...

  5. Linux内核虚拟摄像头,Qt Opencv 在Linux下摄像头简单示例v1.0

    下面写的文章也许网上也有类似的,但是大多数都没有给出思路及背景,让初学者每次都只能学到一点皮毛,不少知识需要大量搜索零碎地拼凑起来.题外话,虽然现在是碎片化信息时代,但正是这样信息整合能力也显得非常重 ...

  6. linux 在线调试摄像头驱动

    在使用嵌入式linux设备做点到点之间的图像传输,比如linux平台采集摄像头数据,然后通过wifi或是蓝牙等设备将图像数据发送到手机端,最后使用手机显示出图像.图像处理和图像传输是在应用层完成,在应 ...

  7. Linux USB摄像头使用

    Linux USB摄像头使用 一.使用V4l2工具调试摄像头 1.v4l2-ctl 常用操作 # 安装V4l2工具包 $ sudo apt install v4l-utils# 通过v4l2查看摄像头 ...

  8. 嵌入式Linux中摄像头使用简要整理

    原文地址为: 嵌入式Linux中摄像头使用简要整理 本文涉及软硬件平台: 开发板:飞凌OK6410 系统:Ubuntu 12.04+飞凌官方3.0.1 嵌入式Linux还处在入门阶段,主要方向是嵌入式 ...

  9. 嵌入式Linux中摄像头使用简要整理【转】

    转自:http://www.cnblogs.com/emouse/archive/2013/03/03/2941938.html 本文涉及软硬件平台: 开发板:飞凌OK6410 系统:Ubuntu 1 ...

  10. linux网络摄像头服务器,网络摄像头Logitech和Linux

    我有罗技c310相机,宣称的特点是720p30fps. 如果您将相机连接到Windows,则记录与所述720p 30fps完全一致-图片清晰. 挑战是将同一个摄像头连接到Orangepi(服务器Arm ...

最新文章

  1. redis pub/sub 聊天
  2. 作文第一次用计算机350,第一次考试作文350字
  3. eclipse注释日期格式修改
  4. matlab生成有向网络,matlab ode45和矩阵生成有向网络图
  5. 当null检查非常失败时
  6. 03-java学习-基本数据类型-运算符-键盘接收用户输入
  7. 自主云服务器处理器_统信服务器操作系统 V20 欧拉版发布
  8. 基于JAVA+SpringBoot+Mybatis+MYSQL的在线购物商城系统
  9. python随机画圆_python生成随机图形验证码详解
  10. 简书红米MIUI-7.5兼容性缺陷:长按文字时弹出的复制粘贴菜单缺少背景色
  11. linkedin第三方授权登录
  12. Tomcat JAAS 身份验证和授权
  13. 三大抽样分布——卡方分布、t分布、F分布
  14. WP手机升级WIN10被PIN码锁定
  15. 算法注册机编写扫盲之续篇---第三课
  16. sybil attack (女巫攻击)
  17. 4Ps营销理论(The Marketing Theory of 4Ps)
  18. ETL Automation
  19. List Sorting
  20. 树莓派gpio控制输出电压

热门文章

  1. 算法笔记_面试题_3.去除数组中的重复元素
  2. cartographer代码流程分析
  3. 远程连接另一台电脑,如何用被远程的电脑听歌
  4. ROS下同时接收多个话题并实现相机和雷达的数据融合
  5. eBay起诉指控亚马逊利用非法手段挖走其卖家
  6. 数据结构 - AVL木
  7. NYOJ 214(二分插入)
  8. OpenCV学习笔记】二十七、轮廓特征属性及应用(四)——正外接矩形
  9. JavaWeb-MVC模式概述
  10. Python3.6下安装爬虫scrapy框架的安装步骤以及遇到的诸多问题