基于Microwindows的嵌入式GUI分析及应用
引言
嵌入式图形用户界面与存储安全、嵌入式JAVA 虚拟机并称为嵌入式系统中的三大关键技术。在嵌入式应用领域,伴随着硬件技术的发展,传统意义上的人机交互界面正趋于淡化,取而代之的是具有友好人机交互支持的嵌入式图形界面。
嵌入式计算机系统以其关键部件的高性能、低价格等优势为Embedded GUI 的发展奠定了坚实的市场和技术基础;而基于Linux 开放源代码、遵循不同授权条款的诸多Embedded GUI 软件及其自由开发者,又大大推进了Embedded GUI 的应用进程,起到推波助澜的作用,如Microwindows、MiniGUI 及QT/ Embedded 等。
嵌入式系统是以应用为中心、计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统的这一定义也就界定了嵌入式系统对Embedded GUI 的基本要求。这些要求如下: (1) 轻量级、占用系统资源少; (2) 性能高,友好的人机互动; (3) 可靠性高; (4) 模块架构,配置灵活,便于移植。
目前,在嵌入式应用领域比较成功的Embedded GUI主要有MiniGUI、Microwindows 和QT/ Embedded。
MiniGUI 和Microwindows 都是自由软件,只是前者遵循L GPL 条款,后者遵循MPL 条款。这两个系统的技术路线也有所不同。MiniGUI 的策略是首先建立在比较成熟的图形引擎之上,如Svgalib 和LibGGI ,开发的重点在窗口系统、图形接口上。
Microwindows 目前的开发重点则在底层的图形引擎上,它不需要其它图形系统的支持。在Linux 操作系统上,Microwindows 也可以充分利用Linux 提供的Framebuffer机制来显示图形。并且,Microwindows 还具有很强的移植性,能够在大多数微处理器上运行。
QT/ Embedded 由于移植了大量原来基于QT 的XWindows 程序,提供了非常完整的嵌入式GUI 解决方案,再加上Opera 浏览器,可以说是一个成熟的商业软件。然而,QT/ Embedded 不能运行在非QT 的软件中,其源代码也过于庞大。
作为一个开放源代码项目,Microwindows 将现代图形窗口技术的一些特性展现给了编程团体,而不需要诸如Microsof t Windows 或X Window 这样占用较大磁盘和RAM 空间的高级窗口的支持。它直接面向显示硬件本身,不需要任何操作系统或其它图形系统的支持,可以在Linux 2. 0 以上的Framebuffer 系统上很好地运行。Microwindows 本身就被设计成便于移植、能够在大多数硬件和软件环境下运行的Embedded GUI。
Microwindows 最新版本0. 9 有如下新特性:
(1) 支持新的NXL IB 项目,NXL IB 对X11 的二进制程序可以不加修改地直接在Microwindows 里运行,而无需X11 Server 支持;
(2) 支持Sharp Zaurus、Tuxscreen、TriMedia 及Cygnus X11 平台;
(3) 内建标准化校准(nxcal) 支持,如一个触摸屏驱动程序可以支持包含iPAQ、Zaurus、ADS 和Tuxscreen 在内的大多数ARM 平台;
(4) 增强了字符支持,包括BIG5 、GB2312 、EUCCN、EUCKR、EUCJ P 和J ISX0213 等;
(5) 大幅提高了X11 屏幕驱动程序和文本画图的速度;
(6) 32 位ARGB 硬件驱动支持单色Alpha ;
(7) 支持带有HAVI 键盘映射的L IRC 键盘;
(8) 从源代码中为html 和pdf 文档自动生成支持基于Doxygen 的文档。
评论