rk3568 camera:双摄调试的介绍

2023-10-06 22:20

本文主要是介绍rk3568 camera:双摄调试的介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        YUV类型摄像头+普通mipi摄像头

        主要介绍该组合类型的sensor在rk3568平台调试过程中需要注意的地方,以pr2100k+gc2385为例;双摄调试时,首先要配置好dts,例如pr2100k硬件上接lane0-lane1,使用dphy1,走vicap链路;而gc2385在硬件上接lane2-lane3,使用dphy2,走isp链路。

        调试底层的时候,可以一个个单独进行调试;配置好dts后,升级固件,然后使用media-ctl -p -d /dev/mediax指令去查看拓扑是否正确;使用v4l2工具抓图,看底层是否正常的出流。若底层调试完毕,接下来就是配置camera3_profiles.xml文件,也就是将pr2100k和gc2385添加上,修改下分辨率,注意moduleid需要与dts中的index一致,不然上层会识别不到设备的,其中moduleid需要按照m00->m01->m02这样的顺序去排列。

        xml配置完成后,可以使用dumpsys media.camera去看下,是否识别到2个设备了。由于pr2100k是SOC类型的sensor,所以其不用接入isp,也不用效果文件,因此在xml中可以将sensortype配置为SOC类型。

        以上配置完后,使用系统apk打开失败,这是常见的问题,针对SOC类型的sensor需要在hal层中加入如下补丁才行

        此时,使用apk可以单独打开pr2100k和gc2385的;但切换失败,也就是使用pr2100k预览正常,但切换到gc2385就会黑屏;此时可以执行如下这条指令

setprop persist.vendor.camera.hal.debug 5

        这个是打开hal层的log开关,然后重启设备后,打开apk,抓一份切换失败的logcat,logcat常见报错如下,Cannot set MediaCtl links;这个也就是pipline链接失败了;pipeline的链接在这个函数中实现的getImguMediaCtlConfig,

 

        那么如果出现上面报错的情况,就要加下打印,看是否有进各自的pipeline设置;正常情况下SOC是进入else if 而普通sensor是进else;在调试过程中有遇到过两个sensor配置上,系统相机是可以检测到两个摄像头,但只能打开pr2100k,切换不到gc2385;从logcat中查找关键字"addLinkParams",能看到pr2100k的pipeline是正常链接的,而gc2385的pipeline链接失败,也就是没进else;所以根据配置的dts链路,hal层代码做如下修改即可解决。

这篇关于rk3568 camera:双摄调试的介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/154243

相关文章

使用C/C++调用libcurl调试消息的方式

《使用C/C++调用libcurl调试消息的方式》在使用C/C++调用libcurl进行HTTP请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试,libcurl提供了多种... 目录1. libcurl 调试工具简介2. 输出请求消息使用 CURLOPT_VERBOSE使用 C

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数