打印

转:几种嵌入式GUI主流的解决方案

[复制链接]
1469|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
TI过客|  楼主 | 2012-1-27 21:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在嵌入式系统领域,有不少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


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

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

152

帖子

1

粉丝