嵌入式Linux系統(tǒng)下Microwindows的應用
摘要:通過對嵌入式GUI軟件Microwindows進行分析并與X window進行對比,闡述Microwindows用于嵌入式設(shè)備上的優(yōu)點;簡要論述Microwindows的體系結(jié)構(gòu)和圖形應用程序接口;介紹其設(shè)備驅(qū)動特性、API、客戶機/服務(wù)器模型、畫圖機制和FLTK。關(guān)鍵詞:嵌入式系統(tǒng) Microwindows Linux
引言
在進入后PC時代以后,嵌入式設(shè)備以一種無法抑制的迅猛速度普及和發(fā)展到日常生活及工作當中,眾多知名開發(fā)商為了搶占市場和爭奪利潤,競相推出各種性能優(yōu)異的軟硬件及內(nèi)核芯片。鑒于以視窗為代表的桌面操作模式取得巨大成功,該模式目前已成為國內(nèi)外開發(fā)者們在嵌入式設(shè)備中的首選方案。
近幾年,隨著Linux技術(shù)的興起,越來越多的企業(yè)和科研機構(gòu)把目光轉(zhuǎn)向嵌入式Linux的開發(fā)和研究。Linux不僅具有桌面電腦的全部功能和特性,允許修改和根據(jù)用戶的要求進行定制,而且作為一種免費的開放式源碼,還支持目前在嵌入式設(shè)計領(lǐng)域中常用的新型微處理器,如StrongARM、MIPS以及PowerPC等,具有穩(wěn)定、高效、易定制、易裁減、硬件支持廣泛等特點。Microwindows是一個著名的開放式源碼的嵌入式GUI軟件,目的是把圖形視窗環(huán)境引入到運行Linux的小型設(shè)備和平臺上。作為X Window系統(tǒng)的替代品,Microwindows可用更少的RAM和文件存儲空間(100K~600KB)提供相似的功能,允許設(shè)計者輕松加入各種顯示設(shè)備、鼠標、觸摸屏和鍵盤等;可移植性非常好,可用C語言和少部分匯編語言實現(xiàn),支持Intel 16位、32位CPU,MIPS R4000以及基于ARM內(nèi)核的處理器芯片,有多種平臺支持Microwindows。
1 X Window的不足
由于使用了帶有TCP/IP結(jié)構(gòu)的自由式開放源碼操作系統(tǒng),使嵌入式設(shè)備進入了一個創(chuàng)新應用時代,不過這些新的應用需要考慮其資源環(huán)境,這是因為多數(shù)的嵌入式設(shè)備缺少硬件驅(qū)動和大的RAM。目前,在Linux系統(tǒng)中普遍使用X Window系統(tǒng),如圖1所示。X Window是在20世界80年代早期由MIT、DEC等提出來的,是一個基于Client/Server結(jié)構(gòu)的視窗系統(tǒng);允許在任一臺UNIX主機(Clients——客戶端)上運行程序,而在基于X的終端(Server——服務(wù)器)上顯示出來。在這個過程中,相當一部分代碼用于確認主機和服務(wù)器上運行的Client/Server程序是否正常。目前,大多數(shù)X的客戶端和服務(wù)器是在同一臺機器上運行,X Window服務(wù)器經(jīng)編譯后一般用于自動檢測硬件。服務(wù)器中還包含有眾多的畫圖函數(shù),它們的位置根據(jù)執(zhí)行速度被位置在裁減層之上或之下。這些便利X Window過于臃腫和復雜,運行時需要至少8MB的內(nèi)存空間。
2 Microwindows分析比較
對于大多數(shù)嵌入式設(shè)計,尤其是在運行專用圖形程序的場合,X Window不是一種恰當?shù)倪x擇。由此而發(fā)展起來的Microwindows是專門設(shè)計用于在小型設(shè)備上開發(fā)具有高品質(zhì)圖形功能的開放式源碼桌面系統(tǒng),有許多針對現(xiàn)代圖形視窗環(huán)境的功能部件。它的結(jié)構(gòu)設(shè)計使其可方便地加入不同的顯示、鼠標、觸屏以及鍵盤等設(shè)備。Microwindows基于2.2.0版本的Linux系統(tǒng)如圖2所示。
[1] [2] [3]