一、簡(jiǎn)述
Qt Embedded是圖形化界面開(kāi)發(fā)工具Qt的嵌入式版本,它通過(guò)Qt API與Linux I/O以及Framebuffer直接交互,擁有較高的運(yùn)行效率,而且整體采用面向?qū)ο?a target="_blank">編程,擁有良好的編程模式。
英創(chuàng)嵌入式板卡EM9280 / EM9287 / EM335x在定制的Linux內(nèi)核中完全實(shí)現(xiàn)了對(duì)于多種分辨率彩色顯示和電阻式觸摸屏的驅(qū)動(dòng)支持,Qt 內(nèi)核則是基于Linux內(nèi)核驅(qū)動(dòng)之上運(yùn)行。
本文著重介紹如何在EM9280 / EM9287 / EM335x上搭建支持Qt應(yīng)用環(huán)境,即圍繞板卡的根文件系統(tǒng)rootfs所進(jìn)行的配置。
二、Qt-4.8.5移植
圖形交互式操作一般會(huì)用到觸摸屏,所以首先需要移植觸摸屏 tslib,有關(guān)tslib移植在文檔“EM9280 Linux觸摸屏應(yīng)用開(kāi)發(fā)簡(jiǎn)介”中有詳細(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)的庫(kù)文件。移植后的Qt 庫(kù)文件包括有l(wèi)ibQtCore、libQtGui、libQtNetwork、libQtSql等,能夠滿足大多數(shù)嵌入式應(yīng)用開(kāi)發(fā)的需求。
三、根文件系統(tǒng)的配置
整理根文件系統(tǒng)rootfs,將移植好的qt 4.8.5相關(guān)庫(kù)文件即: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
這些配置加上后,在控制終端可以正常啟動(dòng)Qt應(yīng)用程序:
#>basicdrawing -qws
注:basicdrawing是個(gè)Qt應(yīng)用測(cè)試程序,放在/opt/qt-4.8/bin目錄下。
四、Qt應(yīng)用程序的自動(dòng)運(yùn)行
英創(chuàng)系列Linux嵌入式板卡自動(dòng)運(yùn)行程序一般是通過(guò)user.sh或userinfo.txt來(lái)指定應(yīng)用程序,userinfo.txt配置的方法“產(chǎn)品使用必讀”上有詳細(xì)的介紹,user.sh腳本方式自動(dòng)啟動(dòng)的介紹可參考文章:Linux腳本啟動(dòng)應(yīng)用程序方法簡(jiǎn)介。
對(duì)于Qt應(yīng)用程序的自動(dòng)運(yùn)行只能采用user.sh腳本方式進(jìn)行,這是由于根文件系統(tǒng)etc/profile中設(shè)置的環(huán)境變量對(duì)于控制臺(tái)有效,對(duì)于啟動(dòng)的應(yīng)用程序不一定有效,所以在用user.sh腳本啟動(dòng)程序時(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目錄下,則可成功自動(dòng)啟動(dòng)Qt應(yīng)用程序basicdrawing。
-
Linux
+關(guān)注
關(guān)注
87文章
11123瀏覽量
207919 -
嵌入式主板
+關(guān)注
關(guān)注
7文章
6081瀏覽量
34942
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論