【北京迅为】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,会发现双摄成功显示在同一个画面上,如下图所示:

 

上一篇:5G NR:各物理信道的DMRS配置


下一篇:Nginx实现负载服务之间的负载均衡