专栏中心

EEPW首页 > 专栏 > 嵌入式设备基于Linux实现双屏显示

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

发布人:toradex 时间:2017-03-14 来源:工程师 发布文章

 

By Toradex 秦海

1). 简介

对于一些嵌入式领域应用如医疗,汽车等,多屏显示应用是需要的,因此本文就基于NXP iMX6 嵌入式ARM平台来实现双屏显示应用。

 

本文所采用的测试平台为来自Toradex的ARM 计算机模块平台Colibri iMX6DL搭配其对应的开发载板Colibri Eva Board.

 

2. 准备

a). Colibri iMX6DL系统分别通过X18连接LVDS LCD屏(1024x768)和X5 DVI接口连接标准DVI液晶显示器。

b). Colibri iMX6DL 模块需要连接FFC排线和Colibri Eva Board X6连接,如下图所示


c). Colibri iMX6DL 系统使用Toradex Linux Release V2.6.1,不过原生没有包含Qt库,需要基于Toradex Openembedded环境添加Qt相关并重新编译,建立环境和编译相关请参考这里,涉及到添加Qt5以及linuxfb支持的修改请参考下面两个patch文件,然后根据这里说明将重新编译好的image文件更新到Colibri iMX6DL模块上面去。

./ angstrom-lxde-image.bb 添加Qt5 X11支持库

https://github.com/simonqin09/qt5patch/blob/master/angstrom-lxde-image_qt5_x11.patch

./ qtbase_git.bb添加linuxfb支持

https://github.com/simonqin09/qt5patch/blob/master/qtbase_git_linuxfb.patch

d). Colibri iMX6DL Uboot环境变量如下设置来使能双屏配置,此配置LVDS作为主屏显示X11桌面,DVI显示器作为副屏

----------------------------

Colibri iMX6 # setenv vidargs ‘video=mxcfb0:dev=lcd,1024x768M@60,if=RGB666 mxc_hdmi.only_cea=1 video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24 fbmem=32M’

----------------------------

 

3). 播放视频测试

a). 利用videotestsrc元素测试DVI显示器 ”/dev/video18” 输出

----------------------------

gst-launch-1.0 -v videotestsrc !imxv4l2sink device=/dev/video18 force-aspect-ratio=true overlay-width=1920 overlay-height=1080

----------------------------

b). 测试DVI显示器播放1080P 高清视频“fullhdvideo.mkv”

----------------------------

gst-launch-1.0 -v filesrc location=/home/root/fullhdvideo.mkv ! video/x-matroska !aiurdemux !vpudec !imxv4l2sinkdevice=/dev/video18 force-aspect-ratio=trueoverlay-width=1920 overlay-height=1080

----------------------------

c). 测试LVDS和DVI显示器同时播放1080P 高清视频“fullhdvideo.mkv”

----------------------------

gst-launch-1.0 -v filesrc location=/home/root/2528.mkv ! video/x-matroska !aiurdemux !vpudec !imxv4l2sink device=/dev/video18 force-aspect-ratio=true overlay-width=1920 overlay-height=1080 & gst-launch-1.0 -v filesrc location=/home/root/2528.mkv ! video/x-matroska !aiurdemux !vpudec !imxv4l2sink overlay-width=1024 overlay-height=768

----------------------------


 

4). Qt 5应用程序运行

a). 测试程序请参考这里说明,文章是基于Colibri iMX7 ARM计算机模块平台的,针对本文的Colibri iMX6只需要更改下面代码中” this->gpio_out”变量为数值为”38”, 然后在载板上面将X10连接器SODIMM_127管脚和X21连接器LED1管脚相连。

https://github.com/simonqin09/QtGPIOProject/blob/master/mainwindow.cpp

b). 将修改编译好的程序放到Colibri iMX6模块上面进行执行

----------------------------

root@colibri-imx6# ./helloworldUI -platform linuxfb:fb="/dev/fb2"            

                                                                               

Sucessfully export GPIO-38                                                     

Sucessfully set GPIO-38 direction                                              

GPIO-38 value set low                                                          

Sucessfully set GPIO-38 value                                                   

GPIO-38 value set high

……

----------------------------


c). 清理显示,执行下面命令

----------------------------

root@colibri-imx6# cat /dev/zero > /dev/fb2

----------------------------

 

5). 总结

本文基于NXP iMX6嵌入式平台测试了双屏显示,其模式是一个主显示,另外一个基于frame buffer来进行操作,并具体测试了播放视频以及运行Qt程序,尽管还有一定局限性,但是已经可以实现一些比较基本的双屏需求。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

AMD基于Zen 6的台式机处理器可能具有多达24个内核

嵌入式系统 2025-03-10

高速PCB设计指南第13篇-信号隔离技术

高速PCB设计指南第10篇-RF产品设计过程中降低信号耦合的PCB布线技巧

美军APKWS II制导火箭弹技术发展动态

视频 2010-01-14

国芯科技:首颗RSIC-V架构车规MCU有望实现国产化替代

三星电子正开发下一代封装材料“玻璃中介层”:计划2027年量产

如何利用4200A-SCS参数分析仪研究光伏材料和太阳能电池的电学特性

高速PCB设计指南第15篇-掌握IC封装的特性以达到最佳EMI抑制性能

资源下载 2007-02-16

苹果最新“折叠iPhone”规格曝光? 分析师估惊人售价

DeepSeek能否爆改EDA?那些改变的与不变的

智能计算 2025-03-10

美军混合电驱动车辆发展近况

视频 2010-01-14

美海军潜艇技术发展新动向

视频 2010-01-14

美空军计划未来10年采购2000架无人机

视频 2010-01-14

英飞凌边缘AI平台DEEPCRAFT™ Studio通过Ultralytics YOLO模型增加对计算机视觉的支持

俄罗斯微电子行业出现了大规模招聘和加薪

高速PCB设计指南第11篇-PCB基本概念

高速PCB设计指南第12篇-避免混合讯号系统的设计陷阱

美海军开发潜射无人机

视频 2010-01-14

英特尔澄清:Intel 18A制程产品将于今年下半年如期发布

客户案例分享 | ATA-4014C高压功率放大器在电流传感器性能测试实验中的应用

更多 培训课堂
更多 焦点
更多 视频

技术专区