一、簡述
Qt Embedded是圖形化界面開發工具Qt的嵌入式版本,它通過Qt API與Linux I/O以及Framebuffer直接交互,擁有較高的運行效率,而且整體采用面向對象編程,擁有良好的編程模式。
英創嵌入式板卡EM9280 / EM9287 / EM335x在定制的Linux內核中完全實現了對于多種分辨率彩色顯示和電阻式觸摸屏的驅動支持,Qt 內核則是基于Linux內核驅動之上運行。
本文著重介紹如何在EM9280 / EM9287 / EM335x上搭建支持Qt應用環境,即圍繞板卡的根文件系統rootfs所進行的配置。
二、Qt-4.8.5移植
圖形交互式操作一般會用到觸摸屏,所以首先需要移植觸摸屏 tslib,有關tslib移植在文檔“EM9280 Linux觸摸屏應用開發簡介”中有詳細介紹。
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 目錄下安裝了相關的庫文件。移植后的Qt 庫文件包括有libQtCore、libQtGui、libQtNetwork、libQtSql等,能夠滿足大多數嵌入式應用開發的需求。
三、根文件系統的配置
整理根文件系統rootfs,將移植好的qt 4.8.5相關庫文件即:qt目錄下的 /lib /plugins復制到根文件系統下/opt/qt-4.8目錄。
修改根文件系統/etc/profile文件,需要在文件中設置tslib 以及qt的相關路徑、環境變量等。
環境變量中增加:
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應用程序:
#>basicdrawing -qws
注:basicdrawing是個Qt應用測試程序,放在/opt/qt-4.8/bin目錄下。
四、Qt應用程序的自動運行
英創系列Linux嵌入式板卡自動運行程序一般是通過user.sh或userinfo.txt來指定應用程序,userinfo.txt配置的方法“產品使用必讀”上有詳細的介紹,user.sh腳本方式自動啟動的介紹可參考文章:Linux腳本啟動應用程序方法簡介。
對于Qt應用程序的自動運行只能采用user.sh腳本方式進行,這是由于根文件系統etc/profile中設置的環境變量對于控制臺有效,對于啟動的應用程序不一定有效,所以在用user.sh腳本啟動程序時,需要重新設置環境變量,修改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復制到/mnt/nandflash目錄下,則可成功自動啟動Qt應用程序basicdrawing。
-
Linux
+關注
關注
87文章
11312瀏覽量
209697 -
嵌入式主板
+關注
關注
7文章
6085瀏覽量
35396
發布評論請先 登錄
相關推薦
評論