0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

技术分享 | RK3568 buildroot文件系统下的三屏显示调试

启扬ARM嵌入式开发 2023-04-10 11:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

IAC-RK3568-Kit

IAC-RK3568-Kit开发板基于瑞芯微RK3568四核Cortex-A55处理器,支持HDMI、LVDS、MIPI、EDP四种显示接口,能够实现三屏同显,三屏异显,满足智能广告机、智能终端、游戏设备、多屏互动、多媒体设备等多样化的显示需求。

9598dd3e-d4c9-11ed-ad0d-dac502259ad0.png

三屏显示内核

显示子系统是 Rockchip 平台显⽰输出相关软硬件系统的统称,它包括 VOP 和 RGB、BT1120、BT656、I8080(MCU 显示接口),LVDS、MIPI DSI、EDP、DP、HDMI 等显示信号输出模块以及与之对应的软件驱动。

整个显示系统的硬件框架如下图所⽰:

95d78b2e-d4c9-11ed-ad0d-dac502259ad0.png

RK3568 拥有三个VOP的输出通道,所以支持三屏显示。

下图描述了VOP的硬件资源,展示了RK3568的显示通路连接关系。

95fa3d40-d4c9-11ed-ad0d-dac502259ad0.png

接下来的内容将展示启扬RK3568开发板三屏异显的调试过程

硬件准备

IAC-RK3568-Kit开发板

LVDS显示屏

HDMI显示屏

EDP显示屏

9630b3c0-d4c9-11ed-ad0d-dac502259ad0.jpg

本次准备的三个屏幕分别为LVDS、EDP和HDMI,通过上面的VOP硬件资源描述,给三个屏幕分别分配一个VOP通道。

其中EDP屏幕分配为 vp0 通道,

HDMI屏幕分配为 vp1 通道,

LVDS屏幕分配为 vp2 通道。

设备树部分配置如下所示:

&vop { status = "okay";};
&edp_phy { status = "okay";};
&edp_in_vp0 { status = "okay";};
&route_edp{ status = "okay"; connect = <&vp0_out_edp>;};
&hdmi { status = "okay";};
&hdmi_in_vp0 { status = "disabled";};
&hdmi_in_vp1 { status = "okay";};
&lvds { status = "okay";
ports { port@1 { reg = <1>;
lvds_out_panel: endpoint { remote-endpoint = <&panel_in_lvds>; }; };
};};
&lvds_in_vp2 { status = "okay";};

在这里我们给三个屏幕分配了VOP通道,这样就能够在三个屏幕上同时显示。

9662c018-d4c9-11ed-ad0d-dac502259ad0.svg

weston配置

Weston是Wayland开源显示协议的官⽅参考实现,Rockchip Buildroot SDK的显示服务默认使⽤Weston 10.0.0 drm后端。

Buildroot SDK的Weston⽀持多屏镜像同显、多屏异显、屏幕位置配置及热拔插等功能。

镜像模式缩放时,如果硬件VOP显示模块不⽀持缩放,则需要依赖RGA处理。

相关配置通过环境变量设置,如:

# /etc/profile.d/weston.shexport WESTON_DRM_PRIMARY=HDMI-A-1 # 指定主显为HDMI-A-1export WESTON_DRM_SINGLE_HEAD=1 # 强制单显export WESTON_DRM_MIRROR=1 # 使⽤镜像模式(多屏同显),不设置此环境变量即为异显export WESTON_DRM_KEEP_RATIO=1 # 镜像模式下缩放保持纵横⽐,不设置此变量即为强制全屏export WESTON_DRM_HEAD_MODE=primary # 只使能主显export WESTON_DRM_HEAD_MODE=internal # 只使能内置显⽰器export WESTON_DRM_HEAD_MODE=external # 只使能外置显⽰器export WESTON_DRM_HEAD_MODE=external-dual # 使能所有显⽰器,优先外置显⽰器export WESTON_DRM_HEAD_FALLBACK=1 # 未匹配到显⽰器时,使能任意⼀个有效显⽰器export WESTON_OUTPUT_FLOW=horizontal # 默认⽔平排列export WESTON_OUTPUT_FLOW=vertical # 默认垂直排列export WESTON_OUTPUT_FLOW=same-as # 所有显⽰器默认位置(0,0)

也⽀持在weston.ini的output段单独禁⽤指定屏幕:

# /etc/xdg/weston/weston.ini[output]name=LVDS-1mode=off# off|current|preferred|

多屏同显

在weston的默认配置中,即为多屏同显。此时的weston.sh的WESTON_DRM_MIRROR属性等于1。

多屏同显的效果如下图所示:

多屏异显

修改/etc/profile.d/weston.sh,注释 export WESTON_DRM_MIRROR=1 字段,如下图所示:

96c5d1c6-d4c9-11ed-ad0d-dac502259ad0.png

此时重启后就是多屏异显,屏幕以扩展的方式显示。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20156

    浏览量

    328975
  • 开发板
    +关注

    关注

    25

    文章

    6128

    浏览量

    113469
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
    的头像 发表于 11-21 13:25 677次阅读
    【迅为工业<b class='flag-5'>RK3568</b>稳定可靠】itop-<b class='flag-5'>3568</b>开发板Linux驱动开发实战:<b class='flag-5'>RK3568</b>内核模块符号导出详解

    如何基于开发板RK3568 Android 11强制所有应用横展示

    RK3568 Android 11强制所有应用横展示,1、打开frameworks/base/core/java/android/content/pm/parsing/component
    的头像 发表于 11-07 16:07 566次阅读
    如何基于开发板<b class='flag-5'>RK3568</b> Android 11强制所有应用横<b class='flag-5'>屏</b>展示

    【HZ-RK3568开发板免费体验】HZ-RK3568开发板操作系统编译

    开发环境搭建好了后,接下来就是HZ-RK3568开发板操作系统编译工作。 一、menuconfig 先确保虚拟机的开发环境OK。 sudo apt install build-essential
    发表于 08-17 09:15

    迅为RK3568 重制版RK3568驱动指南全面升级

    迅为RK3568 重制版RK3568驱动指南全面升级
    的头像 发表于 07-28 15:25 1523次阅读
    迅为<b class='flag-5'>RK3568</b> 重制版<b class='flag-5'>RK3568</b>驱动指南全面升级

    【HZ-RK3568开发板免费体验】合众HZ-RK3568开发板初次使用

    大,尤其是第2个文件夹“2、镜像及源码”,如下图所示,有几个比较大文件。 HZ-EVM-RK3568-规格书*附件:HZ-EVM-RK3568-规格书V1.0.pdf HZ-CORE-
    发表于 07-27 23:52

    【HZ-RK3568开发板免费体验】系统烧写

    简单介绍,RK3568固件文件一般有两种: 单个统一固件:统一固件是由分区表、bootloader、uboot、kernel、文件系统所有文件打包合并成的单个
    发表于 07-25 09:40

    【HZ-RK3568开发板免费体验】01 开箱+环境搭建+系统烧录升级

    Serial,波特率设为115200 如果顺利,就能跟开发板通信了,可以用ls命令试一 4.2 查看操作系统信息 使用命令 uname -a 返回如下内容 Linux rk3568 4.19.232
    发表于 06-29 18:08

    RK3568驱动指南|第十二篇 GPIO子系统-第130章 GPIO的调试方法

    RK3568驱动指南|第十二篇 GPIO子系统-第130章 GPIO的调试方法
    的头像 发表于 06-03 11:32 994次阅读
    <b class='flag-5'>RK3568</b>驱动指南|第十二篇 GPIO子<b class='flag-5'>系统</b>-第130章 GPIO的<b class='flag-5'>调试</b>方法

    Rockchip RK3568技术参考手册

    电子发烧友网站提供《Rockchip RK3568技术参考手册.pdf》资料免费下载
    发表于 05-17 17:24 34次下载

    rk3568开发工具

    rk3568开发工具
    发表于 04-16 17:03 7次下载

    Linux系统更改系统用户与密码,RK3568工控主板演示

    教大家介绍在更换用户名和修改密码的方法,此方法不适用于Buildroot系统。使用触觉智能RK3568工控主板(型号为IDO-SBC3528)演示,搭载了瑞芯微RK3568四核处理器,
    的头像 发表于 04-02 15:20 1374次阅读
    Linux<b class='flag-5'>系统</b>更改<b class='flag-5'>系统</b>用户与密码,<b class='flag-5'>RK3568</b>工控主板演示

    技术分享 | RK3568编译第方驱动

    我司IAC-RK3568-Kit基于Linux4.19.232,搭载BuildRoot或Debian10操作系统。通常我们在使用外围设备模块时需要编译对应的驱动,如USBWIFI、USBBT等,那
    的头像 发表于 03-06 17:25 1839次阅读
    <b class='flag-5'>技术</b>分享 | <b class='flag-5'>RK3568</b>编译第<b class='flag-5'>三</b>方驱动

    RK3568原理图及规格书资料

    RK3568 IoT设备官方参考原理图
    发表于 02-07 15:28 25次下载

    如何快捷使用瑞芯微RK3568J开发板

    概述 本文详细介绍了RK3568在Linux、Android、Ubuntu系统编译过程中可能遇到的问题,包括设备树路径、源码编译不通过、内核编译配置错误、buildroot编译问题、交叉编译工具位置
    发表于 12-19 16:18

    RK3568显示问题及其解决方法

    设置 5、Android系统默认壁纸修改 6、相机预览画面拉伸问题 --正文开始-- 瑞芯微RK3568作为一款备受瞩目的高性能处理器,在显示
    发表于 12-16 09:14