嵌入式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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索