1.引言
有些嵌入式設備會有一塊顯示屏,用來顯示各種圖案、按鈕等元素,單片機里常見的UI有emWin、TouchGFX等。Linux里常用QT,Qt是一個跨平台個C++應用程式開發框架。廣泛用於開發GUI程序。QT在Windows平台下用來做一些上位機也非常好,使用起來方便簡單,同時又開源免費。本篇給大家簡單介紹NUC972 平台QT的移植及簡單示例,希望對大家有所幫助。
2.環境介紹
2.1.硬體
1) NUC972開發板:
2) 4.3寸電阻屏
2.2.軟體
1) Uboot繼續使用之前文章用的,無需改動。
2) Kernel在上一篇基礎上,要做一定的修改。
3) Rootfs在上一篇基礎上,要做一定的修改。
3.內核配置
· 增加對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配置
· QT5配置
5.QT工程搭建
下面看一下我們自己編譯的qt例子能不能在arm板子上跑起來。
主要包括以下步驟:
1) 在Ubuntu下安裝Qt軟體,我安裝的是qt-opensource-linux-x64-5.10.0.run,在QT官網可以下載到
然後在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.結束語
本篇為大家介紹了Linux下QT的簡單使用,讓大家對Linux下QT移植和交叉編譯有一個感性的認識,完善的功能由於時間關係沒有去研究,歡迎大家多交流。
TopSemic 讓晶片使用更簡單