就是塔塔的个人空间 https://www.eechina.com/space-uid-136863.html [收藏] [复制] [RSS]

博客

迅为IMX6开发板QT系统LVDS和HDMI双屏异显和同显

已有 535 次阅读2022-8-17 15:01

本文档介绍如何在 iMX6 开发板下,QtE 系统中,实现 LVDS 和 HDMI 的双屏异显和同显。
首先开发板分别连接 9.7 寸屏和 HDMI 显示器,然后使用 MfgTool 工具烧写 QT 系统,然后拨码开
关设置成从 emmc 启动,在 uboot 命令行下设置开发板为 9.7 寸屏显示(这样也会同时设置 HDMI),设
置完,保存配置,如下图:

然后设置启动 QT 系统,并保存设置,如下图:

然后开发板重新启动,可以看到默认 9.7 寸屏显示 qt 的触摸校准程序了,点击屏幕校准,最后会在

9.7 寸屏上运行 QT 的 demo 程序。

HDMI 显示通道默认是关闭的,在串口命令行下输入命令“echo 0 > /sys/class/graphics/fb2/blank”,

使能 hdmi 通道,如下图:

现在 hdmi 显示屏上显示黑屏,我们可以给 hdmi 对应的 frambuffer 写入一些随机数据,输入下面

的命令“cat /dev/urandom > /dev/fb2”,如下图:

输入完这条命令,我们可以看到 hdmi 显示器开始显示一些噪点(无规则的图案)了,说明现在 hdmi

这路 frambuffer 显示是可以了,同时 9.7 寸显示的是 qt 的 demo 程序。

我们可以在 hdmi 上也运行一个 qt 的 demo 程序,这样两个 qt 的程序分别在两个显示器下单独显

示,输入下面的命令,在 hdmi 下运行 qt 的 demo 程序,如下:

export QTDIR=/opt/qt-4.7.1/

export

LD_LIBRARY_PATH=$QTDIR/plugins/qtopialmigrate/:$QTDIR/qt_plugins/imageformats/:$QTDIR/li

b:/root/tslib/build/lib:$LD_LIBRARY_PATH

export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/root/tslib/build/bin

export QWS_DISPLAY=:2:/dev/fb2

export HOME=/root

cd /opt/qt-4.7.1/demos/embedded/fluidlauncher

./fluidlauncher -qws

运行完上面的命令,可以看到 hdmi 显示器也运行 qt 的 demo 程序了。

通过上面的这些步骤,我们运行了两个 qt 的 demo 程序,分别在 9.7 和 hdmi 显示器上分别显示。

qt 程序运行前需要设置一组对应的环境变量,在上面的命令里有一个命令是

“export QWS_DISPLAY=:2:/dev/fb2”,这个命令是设置 qt 的界面输出 frambuffer 为 /dev/fb2(即

hdmi 显示屏对应的 frambuffer)。9.7 寸屏对应的设置为

“export QWS_DISPLAY=:0:/dev/fb0”。

通过上面的讲解,我们可以清楚了 qt 下 lvds 和 hdmi 分别显示不同界面的(也可以成为双屏异显)

操作步骤了。其实总结一句话就是给对应的程序设置对应的 frambuffer。

搞清楚了 qt 下 frambuffer 的设置方法,我们可以基于这个原理来设计双屏同显(即把显示内容同

时对应的两个 frambuffer 上)。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部