嵌入式Linux系列第12篇:LCD显示及QT

1html

引言linux

有些嵌入式设备会有一块显示屏,用来显示各类图案、按钮等元素,单片机里常见的UI有emWin、TouchGFX等。Linux里经常使用QT,Qt是一个跨平台个C++应用程序开发框架。普遍用于开发GUI程序。QT在Windows平台下用来作一些上位机也很是好,使用起来方便简单,同时又开源免费。本篇给你们简单介绍NUC972 平台QT的移植及简单示例,但愿对你们有所帮助。git

2github

环境介绍windows

2.1. 硬件
1) 网上的一个第三方作的NUC972开发板:
有兴趣购买的朋友,能够去他们的淘宝店购买:
https://s.click.taobao.com/X8mza8w
2) 4.3寸电阻屏
2.2. 软件
1) Uboot继续使用以前文章用的,无需改动。
2) Kernel在上一篇基础上,要作必定的修改。
3) Rootfs在上一篇基础上,要作必定的修改。

3微信

内核配置app

增长对4.3寸电阻屏的支持
1)修改/arch/arm/mach-nuc970/dev.c文件, nuc970fb_lcd_info结构体中增长如下4.3寸屏的支持,
2)另外/drivers/video/Kconfig: 中增长相关配置
• 内核配置
通过以上两个步骤以后,在make menuconfig以后,选择上
若是要将Linux的企鹅logo显示出来,须要,
最后还有一点
还有一个背光的问题,
PG3须要设置为高电平,能够开机启动脚本添加下面几句话:
echo 195 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio195 /direction
echo 1 > /sys/class/gpio/gpio195 /value
图标就显示出来了


通过以上步骤LCD屏幕的显示配置就完成了。
另外为了支持触摸,还得作修改:

4框架

Buildroot配置ide

QT5配置


5ui

QT工程搭建

下面看一下咱们本身编译的qt例子能不能在arm板子上跑起来。 
主要包括如下步骤:
1) 在Ubuntu下安装Qt软件,我安装的是qt-opensource-linux-x64-5.10.0.run,在QT官网能够下载到
https://download.qt.io/archive/qt/5.10/5.10.0/
而后在Ubuntu命令行窗口中./ qt-opensource-linux-x64-5.10.0.run,就会弹出安装界面,为了节约空间,只选择Tools就能够
 2) 安装完成后,打开QT,你若是不知道在哪,点击搜索,输入qt就能看到,在单击qt图标就能够打开了,界面和在windows下打开qt的界面同样。而后须要配置交叉编译的环境
3) 下面新建一个简单的QT工程,为了照顾初次接触QT的新手,我尽可能描述的详细些
a) 新建工程,选择文件-新建文件或项目
接下来是项目名称和路径
而后很重要的是选择和配置Kits,
这里面有两处必定要设置正确:
一处是Qt Version,选择下图Buildroot目录中的qmake路径
另一处是编译器里添加交叉编译器
b)点击mainwindow.ui文件,这里就能够进行图形化的配置了,放入两个元素
c)编译
放入板子中运行,若是直接执行会报以下错误
# ./test
This application failed to start because it could not find or load the Qt platform plugin "eglfs"
in "".
Available platform plugins are: linuxfb, minimal, offscreen.


Reinstalling the application may fix this problem.
Aborted


须要在后面加入-platform linuxfb,执行./test -platform linuxfb,显示以下:

6

结束语

本期相关的资料在https://github.com/TopSemic/NUC972_Linux 中
本篇为你们介绍了Linux下QT的简单使用,让你们对Linux下QT移植和交叉编译有一个感性的认识,完善的功能因为时间关系没有去研究,欢迎你们多交流,微信公众号以下,欢迎关注:

7

参考

1) https://devarea.com/embedded-linux-working-with-qt/#.XW-ec1UzbIV
2) https://doc.qt.io/qt-5/embedded-linux.html   
3) https://blog.csdn.net/heli200482128/article/details/70159112
4) https://whycan.cn/t_2355.html

本文分享自微信公众号 - TopSemic嵌入式(TopSemic)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索