Qt Embedded及嵌入式Linux下的常见GUI系统

来源:互联网 发布:文联主席砸电脑知乎 编辑:程序博客网 时间:2024/05/16 02:06

由于嵌入式系统中硬件条件的限制,在嵌入式Linux系统中庞大臃肿的X Window不太适合,我们需要一个高性能、轻量级的GUI系统。一般的说,适合于嵌入式Linux系统的GUI应该具有下面的一些特点:

²        体积小,占用较少的FlashRAM。安装GUI系统的时候应可以根据实际的需求对GUI系统进行方便的裁剪和精简,以减少安装所需要的存储空间;在系统运行的时候应占用尽可能少的RAM

²        耗用系统资源尤其是CPU的资源较少,在硬件性能受限的条件下能达到相对较快的系统响应速度,同时减小CPU的功耗,以达到节电的效果。

²        系统独立,能适用于不同的硬件。

目前常见的面向嵌入式LinuxGUI系统主要有Qtopia Core(Qt/Embedded), Microwindows(Nano-X Window), Tiny X, 以及国内的MiniGUI等。

MicroWindows2005年更名为Nano-X Window, http://microwindows.censoft.com/)是一个基于典型客户/服务器体系结构的 GUI 系统,其主要特色在于提供了类似 X 的客户/服务器体系结构并提供了相对完善的图形功能。MicroWindows能够在没有任何操作系统或其他图形系统的支持下运行,它能对裸显示设备进行直接操作。这样,MicroWindows就显得十分小巧,便于移植到各种硬件和软件系统上。然而MicroWindows 项目的进展一直很慢,目前已基本停滞。另外它的图形引擎中也存在不少低效算法。20051月由于其名字与微软的Windows商标相冲突,MicroWindows更名为Nano-X Window,但之后也不再有新的版本发布。

Tiny X(http://www.xfree86.org/)实际上是XFree86 Project 的一部分,由SuSE公司所赞助,XFree86 Project 的核心成员之一Keith Packard开发,其目标是可以在小内存或几乎无内存的情况下良好运行。目前Tiny XXFree86自带的编译模式之一,只要通过修改编译选项,就能编译生成Tiny XTiny XXFree86的基础上精简了不少东西,在x86 CPU中体积可以减小到1M以下,以适用于嵌入式环境之中。Tiny X的最大优点在于可以方便的移植桌面版本的基于X的软件到嵌入式系统中,不过这个优点有时也会变成缺点,因为从桌面版本移植过去的软件相对于嵌入式环境来说,一般体积都过大,需要一定的简化,这种简化有时还不如开发新的程序来得方便。

MiniGUIhttp://www.minigui.org/)是原清华大学教师魏永明先生所主持开发的一个自由软件项目,旨在为基于 Linux 的实时嵌入式系统提供一个轻量级的图形用户界面支持系统。MiniGUI1999 年初遵循 GPL 条款发布了第一个版本,目前在国内已广泛应用于手持信息终端、机顶盒、工业控制系统及工业仪表、便携式多媒体播放机、查询终端等产品和领域,可在 Linux/uClinuxVxWorksuC/OS-IIpSOSThreadXNucleus等操作系统以及 Win32 平台上运行,并能支持Intel x86ARM(ARM7/ARM9/StrongARM/xScale)、PowerPCMIPSM68KDragonBall/ColdFire)等硬件平台。MiniGUI的开发建立在比较成熟的图形引擎如SvgalibLibGGI之上,主要着重于窗口系统、图形接口的开发,面向中低端的嵌入式产品市场。另外由于MiniGUI是中国人自己开发的GUI系统,它对于中文的支持非常好。

Qt EmbeddedTrollTechhttp://www.trolltech.com/发布的面向嵌入式系统的 Qt 版本。与桌面版本Qt/X11不同的是 Qt Embedded直接取代了X Server X Library 等角色,仅采用Framebuffer作为底层图形接口,从而大大减少了系统开销。因为 Qt KDE 等项目使用的 GUI 支持库,所以有许多基于 Qt X Window 程序可以非常方便地移植到Qt/E 版本上。Qt Embedded延续了QtX上的强大功能,但相对消耗系统资源也比较多(与MiniGUI等相比),多用于手持式高端信息产品。

原创粉丝点击