嵌入式Linux下Qt/Embedded的应用
和fb-info中结构体fb-ops的成员函数的对应关系如下: FBIOGET-VSCREENINFOfb-get-var 用户应用程序只需要调用FBIOXXXX来操作LCD硬件。 嵌入式图形界面GUI的移植 交叉编译和移植Qt/Embedded exportPATH=/opt/host/armv4l/bin:$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/Embedded交叉编译一样,首先需要先修改Qtopia的配置文件,将GCC,G++编译器和链接器设置为 前文编译安装的交叉编译工具链。 接着是设置Qtopia环境变量,因为Qtopia是基于Qt/Embedded库的,因此需要方才交叉编译的动态链接库的支持,需要同时设置Qt的环境变量。 exportQTDIR=/linuette/host/Qt/embedded/qt-2.3.6 此时会出现/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 开发板启动后就会运行Qtopia图形界面了。 总结 目前越来越多嵌入式系统要求图形显示界面,特别是在一些工业控制领域,嵌入式Linux系统的应用也逐渐增多。Qt/Embedded延续了Qt在桌面系统的所有功能,丰富的API接口和基于组件的编程模型使得嵌入式Linux系统中的应用程序开发更加便捷。由于Qt/Embedded本身面向高端的手持设备和移动设备,将成为未来嵌入式系统的主流GUI。
FBIOPUT-VSCREENINFOfb-set-var
FBIOGET-FSCREENINFOfb-get-fix
FBIOPUTCMAPfb-set-cmap
FBIOGETCMAPfb-get-cmap
FBIOPAN-DISPLAYfb-pan–display
文中采用了Trolltech公司的Qt/Embedded2.3.6自由版作为目标板Linux图形界面库。在交叉编译前需要先修改Qt /Embedded的配置文件,将GCC,G++编译器和链接器设置为前文编译安装的交叉编译工具链。接着是设置环境变量,如下:
exportQTDIR=$PWD
exportQTEDIR=$QTDIR
exportLD-LIBRARY-PATH=$QTDIR/lib:$LD-LI2
BRARY-PATH
消费电子设备而开发的综合应用平台,它是基于Qt/Em2bedded图形界面库。Qtopia包括了窗口操作系统、游戏和多媒体、输入法、工作辅助应用程序等特性。
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
exportQWS-SIZE=6403480
exportPATH=/usr/qpe/bin:$PATH
嵌入式Linux Qt Embedded 帧缓冲 相关文章:
- 嵌入式Linux技术在工业控制网络中的应用(10-30)
- 基于嵌入式Linux的组态软件实时数据库的设计(02-01)
- 基于ARM+DSP的嵌入式Linux数控系统设计(11-18)
- 基于嵌入式Linux的细胞特征提取算法设计(11-19)
- 基于S3C2410的嵌入式Linux系统构建(03-02)
- 嵌入式Linux网络编程之:网络基础编程(08-13)