微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ARM LINUX的嵌入式GUI的研究和移植

基于ARM LINUX的嵌入式GUI的研究和移植

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

设置JPEG图像选项时必须给出外部jpeg解压缩库的位置,例如LIBJPEG=/usr/lib/libjpeg.a;

字体支持选项。HAVE-FREETYPE-SUPPORT=Y、HAVE-T1LIB-SUPPORT=Y表示支持TrueType和AdobeType1字体,这些库也必须预先编译并在配置文件中指定其位置,Microwindows的网站上提供了许多字库函数的下载。另外,Microwindows还提供了中文BIG5、GB2312以及日文和韩文的支持;

输出显示选项。FRAMEBUFFER=Y表示使用Linux上的framebuffer来实现显示,当然Microwindows也支持X11显示;

输入设备选项。Microwindows提供了一系列的鼠标(包括触摸屏)和键盘的支持,可以根据不同的系统选择适当的选项。

配置完成后,执行make命令开始编译。编译完成后,将生成的库以及可执行文件打包下载到目标板上。如果库文件没有放在目标系统的默认搜索库的路径中,那么还需将此目录加到LD-LIBRARY-PATH环境变量中,然后即可以运行nano-X服务器及各应用程序。

MiniGUI的移植

下载MiniGUI的库文件源代码包libminigui-3.tar.gz和资源文件包minigui-res-3.tar.gz以及演示程序包mde-3.tar.gz后,将它们分别解压到各自的目录下。首先介绍库文件的编译,它的编译配置主要通过执行源程序根目录下configure这个文件,并给它传递相关的参数来实现。比如:CC=arm-linux-gcc./configure———host=i386-linux———target=arm-linux。其中,CC参数表示所使用的编译器名,host表示编译环境所在的主机类型,target表示编译生成后目标系统的主机类型,当前默认编译生成的是MiniGUIThread版本,如果要生成MiniGUILite版本需再加上参数———enable-lite,更多参数可以通过执行。/configure-help来查询。在执行configure之前,根据硬件特性可以修改根目录下的etc目录下的Minigui-3d.cfg和Minigui-flat.cfg两个文件中的选项。比如,如果目标系统的framebuffer大小是320X240,每像素占12bits,则将上述两个文件中[fbcon]组中的defaultmode的值就应设置为320X240-12bpp。配置完成以后执行make命令开始编译,编译结束后执行makeinstall命令,在/usr/local/lib下面会生成交叉编译出来的动态库和静态库文件。其次,资源文件的安装比较简单,解压以后在其根目录下有一个名叫config.linux的文件,修改其中的TOPDIR一项,这样执行makeinstall安装命令以后,所有资源文件会被安装到TOPDIR所定义的目录下的usr/local/lib/minigui下。最后演示程序包的编译与库文件编译类似,也是执行其根目录下的configure文件并传递相关参数,然后执行make命令来编译。若编译库文件时选择———enable-lite参数,由于MiniGUI-Lite采用的是微客户端/服务器架构,要运行应用程序必须先启动服务器程序mginit,然后才能运行其它的应用程序;若编译库文件时没有添———enable-lite参数,则mginit目录根本不会编译进去,演示程序可以直接执行。

QT的移植

QT的编译步骤比较复杂。Qtopia的根目录下有README.html文件介绍了PC机上编译的步骤及参数。因此,本文主要描述在编译成以ARM为目标平台时有所区别的几个步骤及参数。下载Qt/Embedded、Qt/X11和Qtopia三个包并分别解压。这三者的编译配置都是通过执行相应根目录下的configure文件并传递相关参数来实现,另外在Qtopia目录下src/qt/qconfig-qpe.h文件中要定义一些相关的宏,这样在编译时编译器会根据所定义的宏选择需要的代码来进行编译。比如,目标系统所使用的触摸屏实现方式与IPAQ类似,若要使QT将所支持的代码编译进来,则需在qt2config-qpe.h中定义宏QT-QWS-IPAQ。首先,我们在执行configure对QT/Embedded进行配置时,传递了三个参数-xplatformlinux-arm-g++、-qconfigqpe和-no-qvfb。其中第一个参数表示,编译后二进制文件执行时所在的目标平台类型;第二个参数告诉编译器配置头文件是在src/tools/目录下叫做qconfig-qpe.h,通常这个文件就是Qtopia目录下src/qt/qconfig-qpe.h的一个拷贝;第三个参数表示在编译时不需要编译qvfb工具,当目标系统不支持Framebuffer时,在执行启动Qtopia之前先通过执行qvfb来产生一个虚拟的Framebuffer,这时再启动Qtopia相应的内容就会显示在qvfb上。在对Qtopia进行配置时,只传递了一个参数:-platformarm-linux-g++,表示目标平台是ARM平台。当然在上述配置过程中还可以使用其它一些参数,这些参数可以通过传递-help参数给configure来查询。在配置并编译完之后,将Qtopia目录下的运行时相关目录全部打包

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

网站地图

Top