嵌入式学习入门 http://blog.chinaunix.net/u3/117680/showart.php?id=2300212
由于中硬件条件的限制,在系统中庞大臃肿的X Window不太适合,我们需要一个高性能、轻量级的GUI系统。一般的说,适合于系统的GUI应该具有下面的一些特点:
体积小,占用较少的Flash和RAM。安装GUI系统的时候应可以根据实际的需求对GUI系统进行方便的裁剪和精简,以减少安装所需要的存储空间;在系统运行的时候应占用尽可能少的RAM。
耗用系统资源尤其是CPU的资源较少,在硬件性能受限的条件下能达到相对较快的系统响应速度,同时减小CPU的功耗,以达到节电的效果。
系统独立,能适用于不同的硬件。
目前常见的面向的GUI系统主要有Qtopia Core(Qt/Embedded), (Nano-X Window), Tiny X, 以及国内的MiniGUI等。
MicroWindows(2005年更名为Nano-X Window, )是一个基于典型客户/服务器体系结构的 GUI 系统,其主要特色在于提供了类似 X 的客户/服务器体系结构并提供了相对完善的图形功能。MicroWindows能够在没有任何操作系统或其他图形系统的支持下运行,它能对裸显示设备进行直接操作。这样,MicroWindows就显得十分小巧,便于移植到各种硬件和软件系统上。然而MicroWindows 项目的进展一直很慢,目前已基本停滞。另外它的图形引擎中也存在不少低效算法。2005年1月由于其名字与微软的Windows商标相冲突,MicroWindows更名为Nano-X Window,但之后也不再有新的版本发布。
Tiny X()实际上是XFree86 Project 的一部分,由SuSE公司所赞助,XFree86 Project 的核心成员之一Keith Packard开发,其目标是可以在小内存或几乎无内存的情况下良好运行。目前Tiny X是XFree86自带的编译模式之一,只要通过修改编译选项,就能编译生成Tiny X。Tiny X在XFree86的基础上精简了不少东西,在x86 CPU中体积可以减小到1M以下,以适用于之中。Tiny X的最大优点在于可以方便的移植桌面版本的基于X的软件到中,不过这个优点有时也会变成缺点,因为从桌面版本移植过去的软件相对于环境来说,一般体积都过大,需要一定的简化,这种简化有时还不如开发新的程序来得方便。
MiniGUI()是原清华大学教师魏永明先生所主持开发的一个自由软件项目,旨在为基于 的实时提供一个轻量级的图形用户界面支持系统。MiniGUI于1999 年初遵循 GPL 条款发布了第一个版本,目前在国内已广泛应用于手持信息终端、机顶盒、工业控制系统及工业仪表、便携式多媒体播放机、查询终端等产品和领域,可在 Linux/uClinux、VxWorks、uC/OS-II、pSOS、ThreadX、Nucleus等操作系统以及 Win32 平台上运行,并能支持Intel x86、ARM(ARM7/ARM9/StrongARM/xScale)、PowerPC、MIPS、M68K(DragonBall/ColdFire)等硬件平台。MiniGUI的开发建立在比较成熟的图形引擎如Svgalib和LibGGI之上,主要着重于窗口系统、图形接口的开发,面向中低端的产品市场。另外由于MiniGUI是中国人自己开发的GUI系统,它对于中文的支持非常好。
Qt Embedded是TrollTech()发布的面向的 Qt 版本。与桌面版本Qt/X11不同的是 ,Qt Embedded直接取代了X Server 及 X Library 等角色,仅采用Framebuffer作为底层图形接口,从而大大减少了系统开销。因为 Qt 是 KDE 等项目使用的 GUI 支持库,所以有许多基于 Qt 的 X Window 程序可以非常方便地移植到Qt/E 版本上。Qt Embedded延续了Qt在X上的强大功能,但相对消耗系统资源也比较多(与MiniGUI等相比),多用于手持式高端信息产品。
阅读(2374) | 评论(0) | 转发(2) |