微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式Linux下Qt/Embedded的应用

嵌入式Linux下Qt/Embedded的应用

时间:04-05 来源:互联网 点击:

和fb-info中结构体fb-ops的成员函数的对应关系如下:

FBIOGET-VSCREENINFOfb-get-var
FBIOPUT-VSCREENINFOfb-set-var
FBIOGET-FSCREENINFOfb-get-fix
FBIOPUTCMAPfb-set-cmap
FBIOGETCMAPfb-get-cmap
FBIOPAN-DISPLAYfb-pan–display

用户应用程序只需要调用FBIOXXXX来操作LCD硬件。

嵌入式图形界面GUI的移植

交叉编译和移植Qt/Embedded
文中采用了Trolltech公司的Qt/Embedded2.3.6自由版作为目标板Linux图形界面库。在交叉编译前需要先修改Qt /Embedded的配置文件,将GCC,G++编译器和链接器设置为前文编译安装的交叉编译工具链。接着是设置环境变量,如下:

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

然后配置Qt/Embedded将Qt/Embedded配置为动态链接库,并支持JPEG,JIF图像格式,像素位数支持4,8,16,24。

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

最后交叉编译后,\qt-2.3.6\lib路径下的生成EmbeddedQt的3个动态SO库,分别是 libqte.so.2,libqte.so.2.3,libqte.so.2.3.6,将这些库文件拷贝到目标板文件系统中(/s3c2410pro /root/usr/qt/lib)。与此同时在\qt-2.3.6\examples生成了Qt/Embedded的一些示例应用程序 (/s3c2410pro/root/usr/qt/examples/)。可以将一部分或全部程序拷贝到目标板文件系统。

这样当开发板启动以后,就可以在嵌入式系统下运行基于Qt/Embedded的应用程序了。

交叉编译和移植Qtopia
消费电子设备而开发的综合应用平台,它是基于Qt/Em2bedded图形界面库。Qtopia包括了窗口操作系统、游戏和多媒体、输入法、工作辅助应用程序等特性。

同Qt/Embedded交叉编译一样,首先需要先修改Qtopia的配置文件,将GCC,G++编译器和链接器设置为 前文编译安装的交叉编译工具链。

接着是设置Qtopia环境变量,因为Qtopia是基于Qt/Embedded库的,因此需要方才交叉编译的动态链接库的支持,需要同时设置Qt的环境变量。

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配置为动态SO库形式:
./configure-xplatformlinux-arm-g++-shared
编译make

此时会出现/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工具的链接。可以使用RedHat9.0下Qtdesigner(界面与 Delphi相类似)的应用程序开发嵌入式系统下的所见即所得的图形界面应用程序。

编译通过后会在Qt/Embedded的路径/qt-2.3.6/lib下生成libqpe1.6.2的动态链接库,同样将这些库文件拷贝到目标板文件系统中(/s3c2410pro/root/usr/qt/lib)。在目标板文件系统目录/s3c2410pro/root/usr下新建qpe文件夹,将/qpe-1.6.2/apps,/qpe-1.6.2/pics,/qpe-1.6.2/docs,/qpe-1.6.2/sounds复制到该文件夹下。最后修改目标板Linux的/profile文件,设置Qtopia的环境变量:

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

开发板启动后就会运行Qtopia图形界面了。

总结

目前越来越多嵌入式系统要求图形显示界面,特别是在一些工业控制领域,嵌入式Linux系统的应用也逐渐增多。Qt/Embedded延续了Qt在桌面系统的所有功能,丰富的API接口和基于组件的编程模型使得嵌入式Linux系统中的应用程序开发更加便捷。由于Qt/Embedded本身面向高端的手持设备和移动设备,将成为未来嵌入式系统的主流GUI。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top