利用Linux搭建嵌入式操作系统是近年来出现的最令人振奋的方案。这有多方面的原因。首先,运行在嵌入式系统上的Linux能够提供全功能的桌面计算(Desktop Computing),且由于其开放代码,定制变得非常方便。其次,Linux 已经支持大多数嵌入式系统上使用的芯片,包括 StrongARM , MIPS 和 PowerPC。 最后,Linux是免费的,使用Linux 不需要付出任何费用。所以利用 Linux 作为底层操作系统, 其上使用一个 GUI 系统成为现在日益流行的嵌入式操作系统的解决方案。
市场上常见的 PDA 等小型手持式设备上,以前由于硬件条件等的限制,我们看到的用户界面都非常简单,几乎看不到 PC 机上华丽美观的 GUI 界面。但最近出现的 Palm 等手持式电脑或者在 Windows CE 等面向嵌入式系统的操作系统上,我们已经看到了完整的图形用户界面支持。随着手持式设备的硬件条件的提高,估计嵌入式系统对轻量级 GUI 的需求会越来越迫切。近来的市场需求也显示,越来越多的嵌入式系统,包括 PDA、机顶盒、DVD/VCD 播放机、WAP 手机等等系统均要求提供全功能的 Web 浏览器。这包括 HTML 4.0 的支持、JavaScript 的支持,甚至包括 Java 虚拟机的支持。而这一切均要求有一个高性能、高可靠的 GUI 系统的支持。
受导师的影响,本人长期以来对以Linux 操作系统比较感兴趣,并从研二开始加入由魏永明先生发起的 MiniGUI 项目,对整个MiniGUI系统及同类系统如 Microwindows 等进行了一定的研究,并对 MiniGUI 进行了一定的改进和功能扩充。本论文基于这些事实,对面向嵌入式系统的 GUI 系统的体系结构和一些技术内幕做了较深入的探讨。
论文首先概述了嵌入式系统及用户界面的发展情况,接着介绍了几种嵌入式系统下的图形用户界面,通过相互比较,指出和通用的图形用户界面系统相比,嵌入式系统下的图形用户界面需要有轻型、占用资源少,高性能,高可靠性,可配置等特点。第三章介绍了典型系统MiniGUI,第四章介绍了本人实现的MiniGUI对Type1 字体的支持。本文的第五章将介绍 MiniGUI 输入和图形输入/输出引擎的设计,实现难点及相关的一些技术细节。MiniGUI的私有输入和图形输入/输出引擎为本人设计实现,在这些过程中获得的一些宝贵经验将一并介绍。第六章给出MiniGUI的一些应用实例。最后是一点感想和展望。