基于Microwindows的嵌入式GUI分析及應(yīng)用
引言
嵌入式圖形用戶界面與存儲(chǔ)安全、嵌入式JAVA 虛擬機(jī)并稱為嵌入式系統(tǒng)中的三大關(guān)鍵技術(shù)。在嵌入式應(yīng)用領(lǐng)域,伴隨著硬件技術(shù)的發(fā)展,傳統(tǒng)意義上的人機(jī)交互界面正趨于淡化,取而代之的是具有友好人機(jī)交互支持的嵌入式圖形界面。
嵌入式計(jì)算機(jī)系統(tǒng)以其關(guān)鍵部件的高性能、低價(jià)格等優(yōu)勢(shì)為Embedded GUI 的發(fā)展奠定了堅(jiān)實(shí)的市場(chǎng)和技術(shù)基礎(chǔ);而基于Linux 開(kāi)放源代碼、遵循不同授權(quán)條款的諸多Embedded GUI 軟件及其自由開(kāi)發(fā)者,又大大推進(jìn)了Embedded GUI 的應(yīng)用進(jìn)程,起到推波助瀾的作用,如Microwindows、MiniGUI 及QT/ Embedded 等。
嵌入式系統(tǒng)是以應(yīng)用為中心、計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)的這一定義也就界定了嵌入式系統(tǒng)對(duì)Embedded GUI 的基本要求。這些要求如下: (1) 輕量級(jí)、占用系統(tǒng)資源少; (2) 性能高,友好的人機(jī)互動(dòng); (3) 可靠性高; (4) 模塊架構(gòu),配置靈活,便于移植。
目前,在嵌入式應(yīng)用領(lǐng)域比較成功的Embedded GUI主要有MiniGUI、Microwindows 和QT/ Embedded。
MiniGUI 和Microwindows 都是自由軟件,只是前者遵循L GPL 條款,后者遵循MPL 條款。這兩個(gè)系統(tǒng)的技術(shù)路線也有所不同。MiniGUI 的策略是首先建立在比較成熟的圖形引擎之上,如Svgalib 和LibGGI ,開(kāi)發(fā)的重點(diǎn)在窗口系統(tǒng)、圖形接口上。
Microwindows 目前的開(kāi)發(fā)重點(diǎn)則在底層的圖形引擎上,它不需要其它圖形系統(tǒng)的支持。在Linux 操作系統(tǒng)上,Microwindows 也可以充分利用Linux 提供的Framebuffer機(jī)制來(lái)顯示圖形。并且,Microwindows 還具有很強(qiáng)的移植性,能夠在大多數(shù)微處理器上運(yùn)行。
QT/ Embedded 由于移植了大量原來(lái)基于QT 的XWindows 程序,提供了非常完整的嵌入式GUI 解決方案,再加上Opera 瀏覽器,可以說(shuō)是一個(gè)成熟的商業(yè)軟件。然而,QT/ Embedded 不能運(yùn)行在非QT 的軟件中,其源代碼也過(guò)于龐大。
作為一個(gè)開(kāi)放源代碼項(xiàng)目,Microwindows 將現(xiàn)代圖形窗口技術(shù)的一些特性展現(xiàn)給了編程團(tuán)體,而不需要諸如Microsof t Windows 或X Window 這樣占用較大磁盤(pán)和RAM 空間的高級(jí)窗口的支持。它直接面向顯示硬件本身,不需要任何操作系統(tǒng)或其它圖形系統(tǒng)的支持,可以在Linux 2. 0 以上的Framebuffer 系統(tǒng)上很好地運(yùn)行。Microwindows 本身就被設(shè)計(jì)成便于移植、能夠在大多數(shù)硬件和軟件環(huán)境下運(yùn)行的Embedded GUI。
Microwindows 最新版本0. 9 有如下新特性:
(1) 支持新的NXL IB 項(xiàng)目,NXL IB 對(duì)X11 的二進(jìn)制程序可以不加修改地直接在Microwindows 里運(yùn)行,而無(wú)需X11 Server 支持;
(2) 支持Sharp Zaurus、Tuxscreen、TriMedia 及Cygnus X11 平臺(tái);
(3) 內(nèi)建標(biāo)準(zhǔn)化校準(zhǔn)(nxcal) 支持,如一個(gè)觸摸屏驅(qū)動(dòng)程序可以支持包含iPAQ、Zaurus、ADS 和Tuxscreen 在內(nèi)的大多數(shù)ARM 平臺(tái);
(4) 增強(qiáng)了字符支持,包括BIG5 、GB2312 、EUCCN、EUCKR、EUCJ P 和J ISX0213 等;
(5) 大幅提高了X11 屏幕驅(qū)動(dòng)程序和文本畫(huà)圖的速度;
(6) 32 位ARGB 硬件驅(qū)動(dòng)支持單色Alpha ;
(7) 支持帶有HAVI 鍵盤(pán)映射的L IRC 鍵盤(pán);
(8) 從源代碼中為html 和pdf 文檔自動(dòng)生成支持基于Doxygen 的文檔。
評(píng)論