ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[RK3568 Android11] 开发之RK628D HDMI IN 显示二

2021-07-11 19:01:41  阅读:2551  来源: 互联网

标签:RK628D HdmiInDemo HDMI RK3568 dev rkCamera2 应用 output


目录

前言

一、HDMI IN显示APK

二、确定RK628D的设备节点

三、再确定下软件配置和硬件连接

四、测试HdmiInDemo应用


前言

        前面一篇HDMI IN章节,已讲述了RK628D的配置和编译问题,接下来再讲述后续调试遇到的问题;

一、HDMI IN显示APK

        在Android11上使用系统相机打不开HDMI IN显示?还真的是无法使用系统相机打开...尴尬;其实HDMI IN也是模拟一个CSI的摄像头,通过HDMI输入的图像转化为MIPI信号,发送给主控的CSI控制器;
        既然系统相机打不开,找到一份原厂的HDMI IN demo,把它打包进系统试下;
        我这里是打包rkCamera2和HdmiInDemo这两个应用到系统,HdmiInDemo应用之前在Android7.1上使用过;这次也想一起打包进去测试下;
       1、 拷贝rkCamera2和HdmiInDemo压缩包,并解压到packages/apps目录下

       2、添加到系统编译中:vi device/rockchip/rk356x/device.mk

        3、编译报错:packages/apps/HdmiInDemo/Android.mk: error: droidipcam: Must specify LOCAL_SDK_VERSION or LOCAL_PRIVATE_PLATFORM_APIS,

        解决:要求Android.mk必须定义LOCAL_SDK_VERSION或者 LOCAL_PRIVATE_PLATFORM_APIS其中一个。
        vi packages/apps/HdmiInDemo/Android.mk
        添加即可:LOCAL_SDK_VERSION := current

       4、编译完后,在out目录下只生成了rkCamera2 apk,而HdmiInDemo并没有生成:out\target\product\rk3568_r\system\app\
        尝试使用mmm来编译OK;

        5、测试时,要给RK628D输入个HDMI显示信号,系统中使用这两个编译出来的APP,都没能打开HDMI IN显示;

二、确定RK628D的设备节点

        1、确定RK628设备节点,获取当前的连接状态和分辨率;
        输入命令:media-ctl -d /dev/media0 -p
        找到m00_b_rk628-csi设备:device node name /dev/v4l-subdev3

        2、RkCamera2应用代码修改对应节点
                RkCamera2应用代码修改节点为"/dev/v4l-subdev3":
                        vi packages/apps/rkCamera2/jni/native.cpp

        3、打开rkCamera2应用,还是没有图像显示
                media-ctl -d /dev/media0 -p看下是否获取到分辨率:

        上图中并没有获取到分辨率,说明配置上还有问题;

三、再确定下软件配置和硬件连接

        1、查看硬件电源上电和复位是否正常,示波器量到是正常的;
        根据RK原厂的文档查找,有两处需特别注意的:就是hpd-output和plugin-det电路上是否有取反;

        检查了下电路:
                hpd-output没有取反,不需要配置hpd-output-inverted;
                plugin-det有取反,需要把dts中 plugin-det-gpios有效电平GPIO_ACTIVE_HIGH更改为GPIO_ACTIVE_LOW;

&rk628_csi {
       status = "okay";
       /*
        * If the hpd output level is inverted on the circuit,
        * the following configuration needs to be enabled.
        */
       /*hpd-output-inverted;*/
-      plugin-det-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
+      plugin-det-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_LOW>;
       //power-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
       rockchip,camera-module-index = <0>;

        2、更改后,烧入固件,开机可看到获取已输入的分辨率:

        media-ctl -d /dev/media0 -p查看已有分辨率:

        3、打开rkCamera2应用即可看到显示
 

四、测试HdmiInDemo应用

        在使用rkCamera2应用打开HDMI IN显示后,接着使用系统相机和HdmiInDemo应用去打开试下;
        结果:系统相机和HdmiInDemo应用都打不开HDMI IN显示,报找不到相机设备错误;
        这可能是RK3568 Android11使用的是camera HAL3框架导致的,也有可能是原厂还没适配好的原因;问原厂也是回复说只能用他们的rkCamera2 demo来打开显示;

标签:RK628D,HdmiInDemo,HDMI,RK3568,dev,rkCamera2,应用,output
来源: https://blog.csdn.net/soar999999/article/details/118657430

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有