赛迪网 > IT技术 Linux > 嵌入式应用
  IT资讯搜索
 
IT产品搜索

主流嵌入式Linux系统下GUI解决方案 (1)

发布时间:2007.03.09 03:32     来源:赛迪网技术社区    作者:lynn

在嵌入式系统领域,有不少GUI系统,如QNX Photon MicroGUI等,可是具体到嵌入式Linux领域又有哪些可供选择的GUI系统呢?

  在嵌入式环境底下,GUI系统的整体构架跟PC Desktop相去不远,例如绘图函数库、字型、事件处理等也都是嵌入式GUI系统所要面临的。但是嵌入式系统本身由于体积小、资源少的特点,所以在整体设计上必须较为严谨,必须考虑的条件更多,有时很像又回到了Dos下编制程序的年代,对于软件所占的存储量有时可以说是锱铢必较。

  Unix环境下的图形视窗标准为X Window System(以下简称X标准),Linux是类Unix系统,所以顶层运行的GUI系统是兼容X标准的XFree86系统。X标准大致可以划分X Server、Graphic Library(底层绘图函数库)、Toolkits、Window Manager、Internationalization(I18N)等几大部分(详细内容见链接)。

  笔者认为,虽然X架构不错,但却不怎么适用于嵌入式环境,因为实际工作起来实在太过于庞大,因此许多嵌入式Linux GUI系统会把上述几点合并,甚至全部绑到一起,当然这样同时也会失去很多弹性与扩展功能,但为了适应于嵌入式系统,这也是一个解决问题的方法。本文下面就介绍一下现存的主流嵌入式Linux下GUI解决方案。

  主流解决方案介绍

  Qt/Embedded

  Qt是Trolltech这家商业公司所开发的一个跨平台FrameWork环境,在X环境下可以看作是一套功能完整的用户界面工具包,它采用类似C++的语法,并且具备物件导向功能。跨平台的特性可以让使用Qt编写的软件,在Microsoft Windows 95/98/2000、 Microsoft Windows NT、MacOS X、Linux、Solaris、HP-UX、Tru64 (Digital UNIX)、Irix、FreeBSD、BSD/OS、SCO、AIX等许多平台上执行。虽然是商业公司的产品,但是Qt走的却是开源路线,并遵循同样的游戏规则,提供免费下载,全部都是开放源代码,非商业用途亦采用GPL的版权宣告,著名的Open Source “KDE” 项目便是采用Qt所开发的。

  Trolltech也针对嵌入式环境推出了“Qt/Embedded”产品。与桌面版本不同,Qt/Embedded已经直接取代掉X Server及X Library等角色,所有的功能全部整合在一起。

  Qt/Embedded 同样具有跨平台的特点,省掉了不少移植软件的功夫,这样的概念和Java十分接近。同时它还采用模块化设计,其最大的好处是有弹性, Qt/Embedded号称最小可以缩到800Kb左右,最多可以长到3Mb(for Intel x86),这样的弹性也让Qt/Embedded更适合在嵌入式环境下生存。

  另外,Trolltech公司还推出了针对PDA软件的整体解决方案QPE(Qt Plamtop Environment)。它从底层的GUI系统、Window Manger、Soft Keyboard到上层的PIM、浏览器、多媒体等,全部都考虑进去了。其主界面如图1所示 ,内部包括地址簿、计算器、世界时间、时间设置、记事本、终端、文件浏览器、帮助、媒体播放器、图像浏览器、文本编辑器等。

  相对其他GUI来说, Qt/Embedded 应该说是肥美型的产品,功能丰富,但能消化它的东西只能是高端产品,32MB内存是运行它的最小要求。因此,如果开发的产品不是高端的信息终端类产品,不应优先考虑 Qt/Embedded。

  GtkFB自从Qt推出了嵌入式版本之后,虽然GTK+并非商业公司所发展,但也加紧脚步推出了GtkFB方案,其宗旨就是要为嵌入式系统推出一套基于GTK+的GUI解决方案。与Qt/Embedded类似,GtkFB也跳过X层直接与FrameBuffer沟通,因此也具有Qt/Embedded的几项优点,不过由于不是商业软件,在发展的速度上较为缓慢。

  Microwindows

  Microwindows Open Source Project成立的宗旨在于针对体积小的装置,建立一套先进的视窗环境,在Linux桌面上通过交叉编译可以很容易地制作出micro-windows的程序。MicroWindows能够在没有任何操作系统或其他图形系统的支持下运行,它能对裸显示设备进行直接操作。这样,MicroWindows就显得十分小巧,便于移植到各种硬件和软件系统上。

  然而MicroWindows 的免费版本进展一直很慢,几乎处于停顿状态,而且至今为止,国内没有任何一家专业对 MicroWindows 提供全面技术支持、服务和担保的公司。

  MiniGUI是中国人做得比较好的自由软件之一,它是在Linux控制台上运行的多窗口图形操作系统,可以在以Linux为基础的应用平台上提供一个简单可行的MiniGUI支持系统。“小”是MiniGUI的特色,MiniGUI可以应用在电视机顶盒、实时控制系统、掌上电脑等诸多场合。由于这是由中国人自己开发的GUI系统,所以MiniGUI对于中文的支持最好。它支持GB2312与BIG5字元集,其他字元集也可以轻松加入。

  Pure X架构

  Tiny X Server是XFree86 Project的一部分,由Keith Pachard先生所发展,而他本身就是XFree86专案的核心成员之一。一般的X Server都太过于庞大,因此Keith Packard就以XFree86为基础,精简了不少东西而成Tiny X Server,它的体积可以小到几百Kb而已,非常适合应用于嵌入式环境。

  以纯X Window System搭配Tiny X Server架构来说,最大的优点就是弹性与开发速度,因为与桌面的X架构相同,因此相对于很多以Qt、GTK+、FLTK等开发的软件可以很容易地移植上来。

  虽然移植方便,但是却有体积大的缺点,由于很多软件本来是针对桌面环境开发的,因此无形之中具备了桌面环境中很多复杂的功能。因此“调校”变成采用此架构最大的课题,有时候重新改写都可能比调校所需的时间还短。

  OpenGUI

  OpenGUI在Linux系统上已经存在很长时间了。最初的名字叫FastGL,只支持256色的线性显存模式,但目前也支持其他显示模式,并且支持多种操作系统平台,比如MS-DOS、QNX和Linux等,不过目前只支持x86硬件平台。OpenGUI分为三层: 最低层是由汇编语言编写的快速图形引擎;中间层提供了图形绘制API,包括线条、矩形、圆弧等,并且兼容Borland的BGIAPI;第三层用C++编写,提供了完整的GUI对象库。 OpenGUI采用LGPL条款发布。OpenGUI比较适合于基于x86平台的实时系统,跨平台的可移植性较差,目前发展较慢。

1 2 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 在Linux下建立VPN服务器来做加密代理 (03-08) · 50MB的Linux操作系统 Feather Linux (03-08)
· 系统管理 从头开始对ubuntu进行优化 (03-07) · 新闻观察 回顾2006 Linux不失落的理由 (03-07)
· Linux下安装和使用杀毒软件AntiVir (03-07) · 利用IP别名托管多个SSL网络服务站点 (03-07)
· 一种高效率的数据信息传输技术Relay (03-07) · Linux操作系统下利用SSH进行远程控制 (03-07)
· 铲除病毒攻击两大威胁 走近Linux防护 (03-07) · 利用FAM和IMON在Linux下实现数据复制 (03-07)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管