嵌入式linux 小屏,嵌入式设备基于Linux实现双屏显示

By 秦海
1).简介
对于一些嵌入式领域应用如医疗,汽车等,多屏显示应用是需要的,因此本文就基于NXP iMX6嵌入式ARM平台来实现双屏显示应用 。
本文所采用的测试平台为来自的ARM计算机模块平台 搭配其对应的开发载板 Eva Board.
2.准备
a).系统分别通过X18连接LVDS LCD屏()和X5 DVI接口连接标准DVI液晶显示器 。
b).模块需要连接FFC排线和 Eva Board X6连接,如下图所示
c).系统使用 LinuxV2.6.1,不过原生没有包含Qt库,需要基于 环境添加Qt相关并重新编译,建立环境和编译相关请参考这里,涉及到添加Qt5以及支持的修改请参考下面两个patch文件,然后根据这里说明将重新编译好的image文件更新到 模块上面去 。
./ -lxde-image.bb添加Qt5 X11支持库
./ .bb添加支持
d).Uboot环境变量如下设置来使能双屏配置,此配置LVDS作为主屏显示X11桌面,DVI显示器作为副屏
----------------------------
iMX6 #‘video=:dev=lcd,@60,if= .=1 video=:dev=hdmi,@60,if=RGB24 fbmem=32M’
----------------------------
3).播放视频测试
【嵌入式linux 小屏,嵌入式设备基于Linux实现双屏显示】a).利用元素测试DVI显示器”/dev/”输出
----------------------------
gst--1.0 -v! =/dev/ force--ratio=true -width=1920 -=1080
----------------------------
b).测试DVI显示器播放1080P高清视频“.mkv”
----------------------------
gst--1.0 -v=/home/root/.mkv ! video/x- ! ! !=/dev/ force--ratio=-width=1920 -=1080
----------------------------
c).测试LVDS和DVI显示器同时播放1080P高清视频“.mkv”
----------------------------
gst--1.0 -v=/home/root/2528.mkv ! video/x- ! ! ! =/dev/ force--ratio=true -width=1920 -=1080 & gst--1.0 -v=/home/root/2528.mkv ! video/x- ! ! ! -width=1024 -=768
----------------------------
4). Qt 5应用程序运行
a).测试程序请参考这里说明,文章是基于 计算机模块平台的,针对本文的 iMX6只需要更改下面代码中” this->”变量为数值为”38”,然后在载板上面将X10连接器管脚和X21连接器LED1管脚相连 。
b).将修改编译好的程序放到 iMX6模块上面进行执行
----------------------------
root@-imx6# ./ - :fb="/dev/fb2"
GPIO-38
set GPIO-38
GPIO-38 value set low
set GPIO-38 value
GPIO-38 value set high
……
----------------------------
c).清理显示,执行下面命令
----------------------------
root@-imx6# cat /dev/zero > /dev/fb2
----------------------------
5).总结
本文基于NXP iMX6嵌入式平台测试了双屏显示,其模式是一个主显示,另外一个基于frame 来进行操作,并具体测试了播放视频以及运行Qt程序,尽管还有一定局限性,但是已经可以实现一些比较基本的双屏需求 。