一、簡述
Qt Embedded是圖形化界面開發(fā)工具Qt的嵌入式版本,它通過Qt API與Linux I/O以及Framebuffer直接交互,擁有較高的運行效率,而且整體采用面向?qū)ο?a target="_blank">編程,擁有良好的編程模式。
英創(chuàng)嵌入式板卡EM9280 / EM9287 / EM335x在定制的Linux內(nèi)核中完全實現(xiàn)了對于多種分辨率彩色顯示和電阻式觸摸屏的驅(qū)動支持,Qt 內(nèi)核則是基于Linux內(nèi)核驅(qū)動之上運行。

本文著重介紹如何在EM9280 / EM9287 / EM335x上搭建支持Qt應(yīng)用環(huán)境,即圍繞板卡的根文件系統(tǒng)rootfs所進行的配置。
二、Qt-4.8.5移植
圖形交互式操作一般會用到觸摸屏,所以首先需要移植觸摸屏 tslib,有關(guān)tslib移植在文檔“EM9280 Linux觸摸屏應(yīng)用開發(fā)簡介”中有詳細(xì)介紹。
1、下載Qt版本為4.8.5軟件:
地址:http://qt-project.org/downloads qt-everywhere-opensource-src-4.8.5.tar.gz
2、解壓 qt-everywhere-opensource-src-4.8.5.tar.gz
3、編譯:
#>./configure -embedded arm-gnueabi -little-endian -prefix /home/hl/qt -qvfb -qt-mouse-tslib -I/home/hl/ts/include -L/home/hl/ts/lib
#>make
#>make install
編譯成功后,即在/home/hl/qt 目錄下安裝了相關(guān)的庫文件。移植后的Qt 庫文件包括有l(wèi)ibQtCore、libQtGui、libQtNetwork、libQtSql等,能夠滿足大多數(shù)嵌入式應(yīng)用開發(fā)的需求。
三、根文件系統(tǒng)的配置
整理根文件系統(tǒng)rootfs,將移植好的qt 4.8.5相關(guān)庫文件即:qt目錄下的 /lib /plugins復(fù)制到根文件系統(tǒng)下/opt/qt-4.8目錄。
修改根文件系統(tǒng)/etc/profile文件,需要在文件中設(shè)置tslib 以及qt的相關(guān)路徑、環(huán)境變量等。
環(huán)境變量中增加:
export set QTDIR=/opt/qt-4.8
export set QPEDIR=/opt/qt-4.8
export set QWS_DISPLAY='LinuxFB:/dev/fb0'
export set QWS_DISPLAY='LinuxFB:mmWidth130:mmHeight100:0'
export set QWS_KEYBOARD='TTY:/dev/tty1'
export set TSLIB_TSDEVICE=/dev/input/event0
export set TSLIB_CALIBFILE=/etc/pointercal
export set TSLIB_CONFFILE=/etc/ts.conf
export set TSLIB_PLUGINDIR=/lib/ts
export set QWS_MOUSE_PROTO='TSLIB:/dev/input/event0'
export set QT_PLUGIN_PATH=$QTDIR/plugins/
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export set PATH=$QPEDIR/bin:$PATH
export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/plugins/imageformats:$LD_LIBRARY_PATH
這些配置加上后,在控制終端可以正常啟動Qt應(yīng)用程序:
#>basicdrawing -qws
注:basicdrawing是個Qt應(yīng)用測試程序,放在/opt/qt-4.8/bin目錄下。
四、Qt應(yīng)用程序的自動運行
英創(chuàng)系列Linux嵌入式板卡自動運行程序一般是通過user.sh或userinfo.txt來指定應(yīng)用程序,userinfo.txt配置的方法“產(chǎn)品使用必讀”上有詳細(xì)的介紹,user.sh腳本方式自動啟動的介紹可參考文章:Linux腳本啟動應(yīng)用程序方法簡介。
對于Qt應(yīng)用程序的自動運行只能采用user.sh腳本方式進行,這是由于根文件系統(tǒng)etc/profile中設(shè)置的環(huán)境變量對于控制臺有效,對于啟動的應(yīng)用程序不一定有效,所以在用user.sh腳本啟動程序時,需要重新設(shè)置環(huán)境變量,修改user.sh:
#!/bin/sh
export set QTDIR=/opt/qt-4.8
export set QPEDIR=/opt/qt-4.8
export set QWS_DISPLAY='LinuxFB:/dev/fb0'
export set QWS_DISPLAY='LinuxFB:mmWidth130:mmHeight100:0'
export set QWS_KEYBOARD='TTY:/dev/tty1'
export set TSLIB_TSDEVICE=/dev/input/event0
export set TSLIB_CALIBFILE=/etc/pointercal
export set TSLIB_CONFFILE=/etc/ts.conf
export set TSLIB_PLUGINDIR=/lib/ts
export set QWS_MOUSE_PROTO='TSLIB:/dev/input/event0'
export set QT_PLUGIN_PATH=$QTDIR/plugins/
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export set PATH=$QPEDIR/bin:$PATH
export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/plugins/imageformats:$LD_LIBRARY_PATH
basicdrawing -qws
將修改后的user.sh復(fù)制到/mnt/nandflash目錄下,則可成功自動啟動Qt應(yīng)用程序basicdrawing。
-
Linux
+關(guān)注
關(guān)注
88文章
11760瀏覽量
219042 -
嵌入式主板
+關(guān)注
關(guān)注
7文章
6107瀏覽量
37079
發(fā)布評論請先 登錄
arm嵌入式主板優(yōu)缺點
嵌入式主板的選型與應(yīng)用
嵌入式工程師為什么要學(xué)QT?
高通、瑞薩、火山引擎、研華、雷賽智能等30+技術(shù)專家共聚嵌入式大會,熱議嵌入式AI、邊緣智能與具身智能
高效開發(fā) | 瑞迅基于瑞芯微系列主板QT移植部署(上)
一文帶你了解嵌入式主板
嵌入式主板特點與應(yīng)用場景解析
在金融發(fā)展領(lǐng)域,嵌入式主板有什么優(yōu)點?
信創(chuàng)浪潮下,國產(chǎn)主板有什么新的發(fā)展機遇?
嵌入式主板開發(fā)詳細(xì)指南
高可靠性嵌入式主板設(shè)計
中科創(chuàng)達旗下創(chuàng)通聯(lián)達亮相Embedded World 2025
坐標(biāo)德國紐倫堡,飛凌嵌入式亮相Embedded World 2025
英創(chuàng)信息技術(shù)嵌入式主板Qt Embedded應(yīng)用簡介
評論