新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式Linux下Qt/Embedded的應(yīng)用

嵌入式Linux下Qt/Embedded的應(yīng)用

作者: 時間:2012-04-05 來源:網(wǎng)絡(luò) 收藏

用戶應(yīng)用程序只需要調(diào)用FBIOXXXX來操作LCD硬件。

嵌入式圖形界面GUI的移植

交叉編譯和移植/
文中采用了Trolltech公司的/2.3.6自由版作為目標板Linux圖形界面庫。在交叉編譯前需要先修改 /的配置文件,將GCC,G++編譯器和鏈接器設(shè)置為前文編譯安裝的交叉編譯工具鏈。接著是設(shè)置環(huán)境變量,如下:

exportPATH=/opt/host/armv4l/bin:$PATH
exportQTDIR=$PWD
exportQTEDIR=$QTDIR
exportLD-LIBRARY-PATH=$QTDIR/lib:$LD-LI2
BRARY-PATH

然后配置Qt/Embedded將Qt/Embedded配置為動態(tài)鏈接庫,并支持JPEG,JIF圖像格式,像素位數(shù)支持4,8,16,24。

./configure-xplatformlinux-arm-g++-shared-system-jpeg-gif-qvfb-depths4,8,16,24

最后交叉編譯后,qt-2.3.6lib路徑下的生成EmbeddedQt的3個動態(tài)SO庫,分別是 libqte.so.2,libqte.so.2.3,libqte.so.2.3.6,將這些庫文件拷貝到目標板文件系統(tǒng)中(/s3c2410pro /root/usr/qt/lib)。與此同時在qt-2.3.6examples生成了Qt/Embedded的一些示例應(yīng)用程序 (/s3c2410pro/root/usr/qt/examples/)??梢詫⒁徊糠只蛉砍绦蚩截惖侥繕税逦募到y(tǒng)。

這樣當開發(fā)板啟動以后,就可以在嵌入式系統(tǒng)下運行基于Qt/Embedded的應(yīng)用程序了。

交叉編譯和移植Qtopia
消費電子設(shè)備而開發(fā)的綜合應(yīng)用平臺,它是基于Qt/Em2bedded圖形界面庫。Qtopia包括了窗口操作系統(tǒng)、游戲和多媒體、輸入法、工作輔助應(yīng)用程序等特性。

同Qt/Embedded交叉編譯一樣,首先需要先修改Qtopia的配置文件,將GCC,G++編譯器和鏈接器設(shè)置為 前文編譯安裝的交叉編譯工具鏈。

接著是設(shè)置Qtopia環(huán)境變量,因為Qtopia是基于Qt/Embedded庫的,因此需要方才交叉編譯的動態(tài)鏈接庫的支持,需要同時設(shè)置Qt的環(huán)境變量。

exportQTDIR=/linuette/host/Qt/embedded/qt-2.3.6
exportLD-LIBRARY-PATH=/usr/lib:/lib:$QTDIR/lib:
$LD-LIBRARY-PATH
exportQPEDIR=/linuette/host/Qt/qpe/qpe-1.6.2
exportPATH=/opt/host/armv4l/bin:$PATH
exportTMAKEPATH=/usr/lib/tmake/lib/qws/linux-linuette-g++
最后配置Qtopia將Qtopia配置為動態(tài)SO庫形式:
./configure-xplatformlinux-arm-g++-shared
編譯make

此時會出現(xiàn)/bin/uic:Commandnotfound的錯誤,這是因為沒有指定Qt/Embedded的uic工具,uic的工具是Qt專門用來將ui(ui文件是Qt圖形界面文件,支持所見即所得)文件生成.h和.cpp文件的。這里可以直接使用Qt/X11的uic工具,方法如下:在/qt- 2.3.6/bin目錄下建立到RedHat9.0自帶的QtX11的uic工具的鏈接??梢允褂肦edHat9.0下Qtdesigner(界面與 Delphi相類似)的應(yīng)用程序開發(fā)嵌入式系統(tǒng)下的所見即所得的圖形界面應(yīng)用程序。

編譯通過后會在Qt/Embedded的路徑/qt-2.3.6/lib下生成libqpe1.6.2的動態(tài)鏈接庫,同樣將這些庫文件拷貝到目標板文件系統(tǒng)中(/s3c2410pro/root/usr/qt/lib)。在目標板文件系統(tǒng)目錄/s3c2410pro/root/usr下新建qpe文件夾,將/qpe-1.6.2/apps,/qpe-1.6.2/pics,/qpe-1.6.2/docs,/qpe-1.6.2/sounds復(fù)制到該文件夾下。最后修改目標板Linux的/profile文件,設(shè)置Qtopia的環(huán)境變量:

exportPATH=/usr/qpe/bin:$PATH
exportQWS-SIZE=6403480
exportPATH=/usr/qpe/bin:$PATH

開發(fā)板啟動后就會運行Qtopia圖形界面了。

總結(jié)

目前越來越多嵌入式系統(tǒng)要求圖形顯示界面,特別是在一些工業(yè)控制領(lǐng)域,系統(tǒng)的應(yīng)用也逐漸增多。Qt/Embedded延續(xù)了Qt在桌面系統(tǒng)的所有功能,豐富的API接口和基于組件的編程模型使得系統(tǒng)中的應(yīng)用程序開發(fā)更加便捷。由于Qt/Embedded本身面向高端的手持設(shè)備和移動設(shè)備,將成為未來嵌入式系統(tǒng)的主流GUI。

linux相關(guān)文章:linux教程


c++相關(guān)文章:c++教程



上一頁 1 2 下一頁

關(guān)鍵詞: 嵌入式Linux Qt Embedded 幀緩沖

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉