基于ARMLINUX的嵌入式GUI的研究和移植纪竞舟.docx

基于ARMLINUX的嵌入式GUI的研究和移植纪竞舟.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于ARMLINUX的嵌入式GUI的研究和移植纪竞舟

表1 上述三个GUI的比较MiniGUI Microwindows QT/EmbeddedAPI Win32风格X、Win32子集QT(C+ +)函数库大小500K 600K 1.5M可移植性好很好较好(但函数库本身的交叉编译较难)多语种支持很好好使用UNICODE,但效率较低,对中文字体支持几乎没有系统资源消耗小较小最大(C+ +实现)操作系统支持Linux Linux、ELKS、MSDOS Linux硬件平台支持X86、ARM、MIPS、PowerPC X86、ARM、MIPS、PowerPC、SPARC X86、ARM3 基于ARM Linux平台的移植3.1 编译环境的建立GUI的编译通常都是在PC机上执行的,也就是说,编译器本身能够在PC机上执行,同时编译源代码生成的二进制文件必须能在目标机上执行,这类编译器通常称为交叉编译器。对于ARM平台,我们安装了cross-arm-binutils- * .i386.rpm、cross-arm-gcc- * .i386.rpm、cross-arm-glibc-* .i386.rpm这三个包。这些包都可以从网上免费获取,“*”通常代表版本号。arm-binutils这个包一般包含了一些针对ARM平台的二进制工具,比如arm-strip、arm-ar等命令;arm-glibc这个包包含的是标准C的函数库的ARM的版本以及对应的头文件;arm-gcc中包含的则是生成ARM平台代码的x86上的交叉编译器。执行rpm命令将这些包安装到PC机上,若不在系统默认搜索目录下,比如安装在/opt/cross目录下,则必须将/opt/cross/bin目录加到系统的PATH环境变量中,这样在每次编译时系统才能找得到编译器。另外需要注意的是,编译时所用的函数库版本要与目标版上运行时所用的函数库版本一致。经过上述步骤,就已经建立了交叉编译环境,接下来的就是选择或修改GUI的编译选项,从而生成所需要的GUI系统。3.2 Microwindows的移植Microwindows的定制和编译主要是通过修改它源程序根目录下的config这个文件中的选项来实现,而在configs这个目录下已经有一些针对不同平台的config文件,若目标平台与之定义的相符,可直接将其拷贝到根目录下覆盖掉原有的config文件,然后输入命令make来开始编译。另外还可以执行根目录下的xconfigure文件,它提供了一个可视化的窗口来方便用户进行编译选项配置。下面介绍一下其中主要的一些选项:1)目标平台选项。ARCH表示目标机的平台,比如ARCH=LINUX-ARM,BIGENDIAN表示目标平台是否为大数端;2)图像支持选项。HAVE_BMP_SUPPORT=Y、HAVE_JPEG_SUPPORT=Y两项表示对BMP和JPEG格式图像的支持(还有其它格式选项)。设置JPEG图像选项时必须给出外部jpeg解压缩库的位置,例如LIBJPEG=/usr/lib/libjpeg.a;3)字体支持选项。HAVE_FREETYPE_SUPPORT=Y、HAVE_T1LIB_SUPPORT=Y表示支持TrueType和Adobe Type 1字体,这些库也必须预先编译并在配置文件中指定其位置,Microwindows的网站上提供了许多字库函数的下载。另外,Microwindows还提供了中文BIG5、GB2312以及日文和韩文的支持;4)输出显示选项。FRAMEBUFFER=Y表示使用Linux上的framebuffer来实现显示,当然Microwindows也支持X11显示;5)输入设备选项。Microwindows提供了一系列的鼠标(包括触摸屏)和键盘的支持,可以根据不同的系统选择适当的选项。配置完成后,执行make命令开始编译。编译完成后,将生成的库以及可执行文件打包下载到目标板上。如果库文件没有放在目标系统的默认搜索库的路径中,那么还需将此目录加到LD_LIBRARY_PATH环境变量中,然后即可以运行nano-X服务器及各应用程序。3.3 MiniGUI的移植下载MiniGUI的库文件源代码包libminigui- * .tar.gz和资源文件包minigui-res- * .tar.gz以及演示程序包mde-* .tar.gz后,将它们分别解压到各自的目录下。首先介绍库文件的编译,它的编译配置主要通过执行源程序根目录下configure这个文件,并给它传递相关的参数来实现。比如:CC=arm-linux-gcc./configure———host=i386-linux———target=arm-linux。其中,CC参数表示所使用的编译器名,host表示编译环境所在的主机类型,target表示编译生成后目标系统的主机类型,当前默认

文档评论(0)

xjj2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档