天天看點

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

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寸屏的支援,

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語
qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

2)另外/drivers/video/Kconfig: 中增加相關配置

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

· 核心配置

經過以上兩個步驟之後,在make menuconfig之後,選擇上

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語
qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

如果要将Linux的企鵝logo顯示出來,需要,

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

最後還有一點

還有一個背光的問題,

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

PG3需要設定為高電平,可以開機啟動腳本添加下面幾句話:

echo 195 > /sys/class/gpio/export

echo out > /sys/class/gpio/gpio195 /direction

echo 1 > /sys/class/gpio/gpio195 /value

圖示就顯示出來了

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

經過以上步驟LCD螢幕的顯示配置就完成了。

另外為了支援觸摸,還得做修改:

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語
qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語
qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

4.Buildroot配置

· QT5配置

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

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就可以

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

2) 安裝完成後,打開QT,你如果不知道在哪,點選搜尋,輸入qt就能看到,在單擊qt圖示就可以打開了,界面和在windows下打開qt的界面一樣。然後需要配置交叉編譯的環境

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

3) 下面建立一個簡單的QT工程,為了照顧初次接觸QT的新手,我盡量描述的詳細些

a) 建立工程,選擇檔案-建立檔案或項目

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

接下來是項目名稱和路徑

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

然後很重要的是選擇和配置Kits,

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

這裡面有兩處一定要設定正确:

一處是Qt Version,選擇下圖Buildroot目錄中的qmake路徑

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

另外一處是編譯器裡添加交叉編譯器

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語
qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

b)點選mainwindow.ui檔案,這裡就可以進行圖形化的配置了,放入兩個元素

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語
qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

c)編譯

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

放入闆子中運作,如果直接執行會報如下錯誤

# ./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,顯示如下:

qmake linux 指令行安裝_嵌入式Linux系列第12篇:LCD顯示及運作QT1.引言2.環境介紹2.1.硬體2.2.軟體3.核心配置4.Buildroot配置5.QT工程搭建6.結束語

6.結束語

本篇為大家介紹了Linux下QT的簡單使用,讓大家對Linux下QT移植和交叉編譯有一個感性的認識,完善的功能由于時間關系沒有去研究,歡迎大家多交流。

TopSemic 讓晶片使用更簡單

繼續閱讀