千家信息网

A20 linux如何同时使用Parallel CSI Camera及UVC

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,A20 linux如何同时使用Parallel CSI Camera及UVC ,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。【目标】
千家信息网最后更新 2026年11月03日A20 linux如何同时使用Parallel CSI Camera及UVC

A20 linux如何同时使用Parallel CSI Camera及UVC ,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

【目标】
在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){ width3 = (layer_config.width >> 1)-(layer_config.width>>MIC_POWER_BAR_WITH_SHIFT); }else{ width3 = (layer_config.width >> 1); }if (usb_camera_test_init(x2,y2,width3,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 = 1module_count= 6module1_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 = 1csi_cnt = 1fps = 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,效率更高。

关于 A20 linux如何同时使用Parallel CSI Camera及UVC 问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

数据 问题 同时 格式 代码 摄像头 摄像 屏幕 方法 更多 帮助 解答 易行 简单易行 上文 下图 两个 中将 函数 区域 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡 湖北九亚互联网络科技有限公司 博彦科技互联网金融 新华互联网科技 丰台科技园 互联网 互联网科技ppt模板 衡水科技产业互联网平台 成都玖崟互联网科技有限公司乐商圈怎么样 哈尔滨新华互联网科技学院 创业天下互联网科技有限公司 互联网科技与管理 青岛科技大学互联网大赛研究生 广州市恰铎互联网科技有限公司 华夏恒生科技与互联网科技 四川互联网展示科技馆设计 东营紫格互联网科技 九思连强互联网电子科技有限公司 福仕德教育科技互联网 利用互联网等科技手段 如何强化互联网金融科技 远信互联网科技 安徽鑫晟辉互联网科技 极限挑战互联网科技 美国互联网前沿科技 科技赋能互联网健康 彤创互联网科技有限公司 江阴互联网智能科技产品进口 互联网金融科技展 南博望互联网科技有限公司 广州百诚互联网科技有限公司官网
0