基于Microwindows的嵌入式GUI設計
引言
嵌入式圖形用戶(hù)界面與存儲安全、嵌入式java 虛擬機并稱(chēng)為嵌入式系統中的三大關(guān)鍵技術(shù)。在嵌入式應用領(lǐng)域,伴隨著(zhù)硬件技術(shù)的發(fā)展,傳統意義上的人機交互界面正趨于淡化,取而代之的是具有友好人機交互支持的嵌入式圖形界面。
嵌入式計算機系統以其關(guān)鍵部件的高性能、低價(jià)格等優(yōu)勢為embedded gui 的發(fā)展奠定了堅實(shí)的市場(chǎng)和技術(shù)基礎;而基于linux 開(kāi)放源代碼、遵循不同授權條款的諸多embedded gui 軟件及其自由開(kāi)發(fā)者,又大大推進(jìn)了embedded gui 的應用進(jìn)程,起到推波助瀾的作用,如microwindows、minigui 及qt/ embedded 等。
嵌入式系統是以應用為中心、計算機技術(shù)為基礎、軟件硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專(zhuān)用計算機系統。嵌入式系統的這一定義也就界定了嵌入式系統對embedded gui 的基本要求。這些要求如下: (1) 輕量級、占用系統資源少; (2) 性能高,友好的人機互動(dòng); (3) 可靠性高; (4) 模塊架構,配置靈活,便于移植。
目前,在嵌入式應用領(lǐng)域比較成功的embedded gui主要有minigui、microwindows 和qt/ embedded。
minigui 和microwindows 都是自由軟件,只是前者遵循l gpl 條款,后者遵循mpl 條款。這兩個(gè)系統的技術(shù)路線(xiàn)也有所不同。minigui 的策略是首先建立在比較成熟的圖形引擎之上,如svgalib 和libggi ,開(kāi)發(fā)的重點(diǎn)在窗口系統、圖形接口上。
microwindows 目前的開(kāi)發(fā)重點(diǎn)則在底層的圖形引擎上,它不需要其它圖形系統的支持。在linux 操作系統上,microwindows 也可以充分利用linux 提供的framebuffer機制來(lái)顯示圖形。并且,microwindows 還具有很強的移植性,能夠在大多數微處理器上運行。
qt/ embedded 由于移植了大量原來(lái)基于qt 的xwindows 程序,提供了非常完整的嵌入式gui 解決方案,再加上opera 瀏覽器,可以說(shuō)是一個(gè)成熟的商業(yè)軟件。然而,qt/ embedded 不能運行在非qt 的軟件中,其源代碼也過(guò)于龐大。
作為一個(gè)開(kāi)放源代碼項目,microwindows 將現代圖形窗口技術(shù)的一些特性展現給了編程團體,而不需要諸如microsof t windows 或x window 這樣占用較大磁盤(pán)和ram 空間的高級窗口的支持。它直接面向顯示硬件本身,不需要任何操作系統或其它圖形系統的支持,可以在linux 2. 0 以上的framebuffer 系統上很好地運行。microwindows 本身就被設計成便于移植、能夠在大多數硬件和軟件環(huán)境下運行的embedded gui。
microwindows 最新版本0. 9 有如下新特性:
(1) 支持新的nxl ib 項目,nxl ib 對x11 的二進(jìn)制程序可以不加修改地直接在microwindows 里運行,而無(wú)需x11 server 支持;
(2) 支持sharp zaurus、tuxscreen、trimedia 及cygnus x11 平臺;
(3) 內建標準化校準(nxcal) 支持,如一個(gè)觸摸屏驅動(dòng)程序可以支持包含ipaq、zaurus、ads 和tuxscreen 在內的大多數arm 平臺;
(4) 增強了字符支持,包括big5 、gb2312 、euccn、euckr、eucj p 和j isx0213 等;
(5) 大幅提高了x11 屏幕驅動(dòng)程序和文本畫(huà)圖的速度;
(6) 32 位argb 硬件驅動(dòng)支持單色alpha ;
(7) 支持帶有havi 鍵盤(pán)映射的l irc 鍵盤(pán);
(8) 從源代碼中為html 和pdf 文檔自動(dòng)生成支持基于do
總而言之,最新版本的microwindows 在硬件驅動(dòng)加速上、在圖形引擎算法上以及代碼質(zhì)量上,都比原先的版本有較大的改進(jìn)。
評論