【北京迅为】itop-3588开发板摄像头使用手册Android12 双摄方案
本章节对应资料在网盘资料“iTOP-3588 开发板\02_【iTOP-RK3588 开发板】开发资料 \07_Android 系统开发配套资料\08_Android12 摄像头使用配套资料”目录下下载。
2.1 Android12 前摄+后摄
网盘中默认的 Android12 源码支持四个摄像头单独打开,本小节我们来修改源码,实现同 时支持俩个摄像头打开,并设置一个摄像头为前置摄像头,另一个摄像头为后置摄像头。
2.1.1 设备树修改
打开 Android12 源码 kernel-5.10/arch/arm64/boot/dts/rockchip/topeet_camera_config.dtsi 中 的设备树文件,如下图所示:
因为摄像头的复位引脚存在复用,所以选择摄像头是要选择一个 dphy 和一个 dcphy,不 能同时选择两个 dphy 或两个 dcphy。所以可以选择的双摄方案有如下所示:
方案一:J3+J4
方案二:J3+J2
方案三:J1+J4
方案四:J1+J2
方案一设备树修改
如果我们选择方案一的摄像头接口,首先修改 topeet_camera_config.dtsi 设备树的宏定义 ,将 J3 和 J4 的宏定义打开,如下图所示:
方案二设备树修改
如果我们选择方案一的摄像头接口,首先修改 topeet_camera_config.dtsi 设备树的宏定义 ,将 J3 和 J2 的宏定义打开,
方案三设备树修改
如果我们选择方案一的摄像头接口,首先修改 topeet_camera_config.dtsi 设备树的宏定义 ,将 J1 和 J4 的宏定义打开,
方案四设备树修改
如果我们选择方案一的摄像头接口,首先修改 topeet_camera_config.dtsi 设备树的宏定义 ,将 J1 和 J2 的宏定义打开,
我们可以根据自己的需求来修改 topeet_camera_config.dtsi 文件。选择好摄像头后需要确 定两个摄像头的 isp 输出流不同。
方案一设备树修改 CAMERA_J3 宏条件编译的节点如下所示:
CAMERA_J4 宏条件编译的节点如下所示:
2.1.2 Android 系统
接下来需要配置的是 xml 文件的内容。文件路径为:
hardware/rockchip/camera/etc/camera/camera3_profiles_rk3588.xml。
CAMERA_J3 宏条件编译的 ov5695 设备树节点,如下所示:
在上图中,我们可以得知 ov5695 节点的 rockchip,camera-module-index 为 2。我们修改 camera3_profiles_rk3588.xml 文件:
<Profiles cameraId="0" name="ov5695" moduleId="m02">
name 是摄像头驱动名字,与设备树中的摄像头驱动名字对应,moduleId 与设备树中的 rockchip,camera-module-index 对应。在设备树中 rockchip,camera-module-index 为 2,所以 moduleId 为 02。
同理 CAMERA_J4 宏控制的条件编译下,ov5695 摄像头的 rockchip,camera-module-index 为 0。检查 camera3_profiles_rk3588.xml 文件有以下配置。
<Profiles cameraId="0" name="ov5695" moduleId="m00">
这样设备树驱动以及 Android 系统的文件就配置上了,摄像头就可以正常使用了,
2.1.3 设置前后摄
然后配置前摄和后摄,前摄关键词为 FRONT,后摄关键词为 BACK,修改 xml 文件中的<lens.facing value="FRONT"/>项即可。例如选择方案一两个摄像头则进行如下修改 修改 J3 摄像头为后摄如下图所示:
修改 J4 摄像头为前摄如下图所示:
两个摄像头需要两组 profiles,moduleId 需要对应,前置和后置也需要确定。
2.1.4 测试
内容修改完重新编译烧写启动后,开机默认为前置摄像头,点击设置,会出现三个图标(不配置前摄后摄只出现两个图标),第三个图标即为切换前摄和后摄。如下图所示:
2.2 Android12 双摄同时显示
2.2.1 设备树
设备树与前摄后摄配置好的一致,参考 2.1 小节。
2.2.2 Android 系统
要支持双摄同时显示需对源码做如下修改,修改文件
hardware/rockchip/camera/Camera3HALModule.cpp
注释掉下面函数中的部分代码即可。
2.2.3 测试
双摄同时显示需要双摄 app,在网盘资料下载测试 APK,然后使用 adb 安装测试 APK, 启动测试 app,会发现双摄成功显示在同一个画面上,如下图所示:
相关文章:

【北京迅为】itop-3588开发板摄像头使用手册Android12 双摄方案
本章节对应资料在网盘资料“iTOP-3588 开发板\02_【iTOP-RK3588 开发板】开发资料 \07_Android 系统开发配套资料\08_Android12 摄像头使用配套资料”目录下下载。 2.1 Android12 前摄后摄 网盘中默认的 Android12 源码支持四个摄像头单独打开,本小节我们来修改源码…...

初见Linux:基础开发工具
前言: 这篇文章我们将讲述Linux的基本开发工具,以及讨论Linux的生态圈,最后再了解vim开发工具。 Yum: YUM(Yellowdog Updater Modified)是一个在Linux系统中用于管理软件包的工具,特别是在基于…...
微服务架构面试内容整理-分布式配置管理-Nacos Config
Nacos Config 是 Nacos 提供的一个配置管理功能,专门用于动态管理应用的配置。在微服务架构中,Nacos Config 允许开发者集中管理和动态更新各个服务的配置,从而提升系统的灵活性和可维护性。以下是 Nacos Config 的主要特点、工作原理和使用场景: 主要特点 1. 动态配置管理…...
React官网生成Recat项目的区别
1. Next.js 特点: 页面级路由:使用文件系统路由,基于 /pages 文件夹的结构自动创建 URL 路径。渲染模式:支持三种渲染模式:静态生成 (SSG)、服务器端渲染 (SSR) 和客户端渲染 (CSR),并允许根据页面的具体需…...
网络安全---安全见闻
网络安全—安全见闻 拓宽视野不仅能够丰富我们的知识体系,也是自我提升和深造学习的重要途径!!! Web程序(网站) web站点、app都属于Web程序 二进制程序 与逆向分析挂钩 驱动程序 驱动程序也属于软件,以Windows系统…...

在 CSS 中,gap 是 布局容器(flex 或 grid)的属性。它用于设置容器内子元素之间的间距。
在 CSS 中,gap 是 布局容器(flex 或 grid)的属性。它用于设置容器内子元素之间的间距。以下是 gap 属性在不同布局中的应用: 1. 在 CSS Grid 布局中 gap 定义了网格行和列之间的间距。可以分别使用 row-gap 和 column-gap 设置行…...
[zotero]Ubuntu搭建WebDAV网盘
搭建Ubuntu Apache WebDAV网盘的综合步骤,使用666端口: 安装Apache和WebDAV模块: sudo apt update sudo apt install apache2 sudo a2enmod dav sudo a2enmod dav_fs创建WebDAV目录: sudo mkdir /var/www/webdav sudo chown www-d…...

力扣17-电话号码的数字组合
力扣17-电话号码的数字组合 思路代码 题目链接 思路 原题: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 输…...

如何处理模型的过拟合和欠拟合问题
好久没有写人工智能这块的东西了,今天正好在家休息,给大家分享一下最近在训练时遇到的过拟合和欠拟合的问题,经过仔细的思考,总结如下: 在处理模型的过拟合和欠拟合问题时,我们需要根据具体情况采取不同的…...
CSRF详解
CSRF,全称是Cross-Site Request Forgery,即跨站请求伪造,也被称为“one click attack”或者session riding,是一种网络攻击方式。它允许攻击者诱导用户在已登录的Web应用程序上执行非预期的操作。 工作原理CSRF攻击通常涉及三个主…...
C# winform 的数据采集,采集周期是间隔10ms、100ms等等,但始终都有1ms的误差,并不是精准的10ms,哪些原因呢
C# winform 的数据采集,采集周期是间隔10ms、100ms等等,但始终都有1ms的误差,并不是精准的10ms,哪些原因呢 在C# WinForms应用程序中进行数据采集时,如果遇到采集周期存在1ms误差的问题,可能的原因包括&am…...

【国内中间件厂商排名及四大中间件对比分析】
国内中间件厂商排名 随着新兴技术的涌入,一批国产中间件厂商破土而出,并在短时间内迅速发展,我国中间件市场迎来洗牌,根据市占率,当前我国中间件厂商排名依次为:东方通、宝兰德、中创股份、金蝶天燕、普元…...

qt QLocale详解
1、概述 QLocale是Qt框架中的一个类,用于处理与本地化相关的操作。它能够方便地实现日期、时间、数字和货币的格式化和解析,支持不同的语言、区域设置和字符集。QLocale提供了一种跨平台的方式来获取当前系统的语言设置,并返回该语言的本地化…...

Node.js简介以及安装部署 (基础介绍 一)
Node.js简介 Node.js是运行在服务端的JavaScript。 Node.js是一个基于Chrome JavaScript运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。 Node.…...
unity实习面
天津小厂 23分钟 下午三点约的面 一直到三点15才面上 估计前边也是在面别人然后面的时间有点长了 唉小厂也是一堆人 上来直接说看项目代码 给看了一下经典tankgame 主要是问了一些其中的代码是什么意思 然后问对象池怎么用 答:光知道不会用 问生命周期函数 得…...
React Native WebView 进阶:实现带回调函数的通讯
实现带回调的通讯 Web 端实现 在网页中,我们使用 window.callbacks 对象来注册回调函数,并将 callbackId 传递给 App: <script>window.callbacks {callbacks: {},register: function(successCallback, errorCallback) {const callb…...

【设计模式】结构型模式(四):组合模式、享元模式
《设计模式之结构型模式》系列,共包含以下文章: 结构型模式(一):适配器模式、装饰器模式结构型模式(二):代理模式结构型模式(三):桥接模式、外观…...

分布式数据库中间件mycat
MyCat MyCat是一个开源的分布式数据库系统,它实现了MySQL协议,可以作为数据库代理使用。 MyCat(中间件)的核心功能是分库分表,即将一个大表水平分割为多个小表,存储在后端的MySQL服务器或其他数据库中。 它不仅支持MySQLÿ…...

放大电路中的反馈 > 负反馈 > 四种组态 > 虚断和虚短
零、什么是反馈?为什么反馈很重要?而且负反馈最重要? 反馈在所有领域都是很美的东西: 公司出台某项政策,过了一个月让大家谈谈新政策的感受,然后公司对政策进行适当调整。 高三月考可以反应你对各个学课的…...

STM32F405RGT6单片机原理图、PCB免费分享
大学时机创比赛时画的板子,比到一半因为疫情回家,无后续,,,已打板验证过,使用stm32f405rgt6做主控 下载文件资源如下 原理图文件 pcb文件 外壳模型文件 stm32f405例程 功能 以下功能全部验证通过 4路…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...