一種可移植的嵌入式圖形支持系統(tǒng):MiniGUI
為目標(biāo)嵌入式產(chǎn)品選擇適合的嵌入式圖形支持系統(tǒng)成為與選擇嵌入式操作系統(tǒng)一樣頗具挑戰(zhàn)性。本土公司開(kāi)發(fā)的MiniGUI是一個(gè)高效、可靠、可定制、小巧靈活的圖形用戶界面支持系統(tǒng),并具有跨硬件平臺(tái)、跨操作系統(tǒng)的可移植性,非常適合于實(shí)時(shí)嵌入式產(chǎn)品開(kāi)發(fā)。本文詳細(xì)闡述了MiniGUI的特點(diǎn)、運(yùn)行模式和應(yīng)用。
隨著高端消費(fèi)類(lèi)電子產(chǎn)品(PDA、手機(jī)等)的廣泛應(yīng)用,原先僅在軍工、工業(yè)控制等領(lǐng)域中使用的實(shí)時(shí)嵌入式操作系統(tǒng),受到越來(lái)越多的關(guān)注。因?yàn)榍度胧疆a(chǎn)品本身是一種高度定制化的軟硬件集成產(chǎn)品,單個(gè)操作系統(tǒng)無(wú)法滿足各類(lèi)嵌入式產(chǎn)品的多樣化需求,因此,業(yè)界有許多各具特色的實(shí)時(shí)嵌入式操作系統(tǒng)產(chǎn)品可供選擇。
在嵌入式產(chǎn)品開(kāi)發(fā)中,除操作系統(tǒng)之外,開(kāi)發(fā)人員關(guān)注最多的另外一個(gè)系統(tǒng)軟件組件就是圖形支持系統(tǒng)。只要是面向人機(jī)交互的嵌入式產(chǎn)品,就涉及到文字或者圖形的輸出問(wèn)題。
不過(guò),在嵌入式系統(tǒng)上的GUI應(yīng)用開(kāi)發(fā),不像PC平臺(tái)上的應(yīng)用開(kāi)發(fā)那么容易和方便。一是因?yàn)樵O(shè)備的可用資源有限(CPU運(yùn)算能力、靜態(tài)和動(dòng)態(tài)存儲(chǔ)空間等),二是因?yàn)椴僮飨到y(tǒng)提供的底層機(jī)制有限。這樣,為具有不同硬件配置的嵌入式產(chǎn)品以及各類(lèi)實(shí)時(shí)嵌入式操作系統(tǒng)提供功能完備、且又適合嵌入式產(chǎn)品特點(diǎn)的GUI支持系統(tǒng),存在著諸多技術(shù)挑戰(zhàn)。
嵌入式操作系統(tǒng)的選擇
“內(nèi)核接口+ANSI C庫(kù)”的模式,是大多數(shù)嵌入式操作系統(tǒng)開(kāi)發(fā)采用的編程模式。但是,這種模式還存在一些問(wèn)題。如果我們要使用ANIS C庫(kù)中的標(biāo)準(zhǔn)I/O接口,則需要操作系統(tǒng)提供文件系統(tǒng)及字符輸出的支持;如果我們要使用ANSI C庫(kù)中的內(nèi)存管理函數(shù)(malloc/free函數(shù)族),就需要提供針對(duì)具體硬件的堆管理方案及實(shí)現(xiàn)代碼。因此,RTOS通常都設(shè)計(jì)為模塊化的軟件系統(tǒng),需要什么樣的功能,可向RTOS產(chǎn)品廠商購(gòu)買(mǎi)對(duì)應(yīng)的模塊來(lái)實(shí)現(xiàn)。
圖1 RTOS 的一般軟件結(jié)構(gòu)。
實(shí)際上,不同RTOS之間的區(qū)別,除了在任務(wù)管理上的核心區(qū)別之外,其他的主要區(qū)別就在外圍模塊上。圖1給出了RTOS的一般軟件結(jié)構(gòu)。
RTOS可劃分為如下幾個(gè)種類(lèi):
1.傳統(tǒng)實(shí)時(shí)嵌入式操作系統(tǒng)。主要包括:VxWorks、pSOS、Nucleus、WinCE等。VxWorks和pSOS的用戶主要集中在軍工、工業(yè)控制及電信領(lǐng)域,Nucleus和WinCE在消費(fèi)類(lèi)產(chǎn)品中應(yīng)用較為廣泛。
2.開(kāi)放源碼的嵌入式操作系統(tǒng)。典型代表有Linux/uClinux、eCos。因?yàn)閭鹘y(tǒng)實(shí)時(shí)嵌入式操作系統(tǒng)價(jià)格比較昂貴,所以許多用戶開(kāi)始使用免授權(quán)費(fèi)的Linux/uClinux等操作系統(tǒng)開(kāi)發(fā)自己的嵌入式產(chǎn)品。Linux操作系統(tǒng)從本質(zhì)上屬于通用操作系統(tǒng),缺少?gòu)?qiáng)實(shí)時(shí)支持,因此嵌入式Linux在某些不需要強(qiáng)實(shí)時(shí)性的嵌入式產(chǎn)品中得到了較多應(yīng)用,典型的產(chǎn)品有智能手機(jī)(這類(lèi)產(chǎn)品中的實(shí)時(shí)性主要通過(guò)專(zhuān)用硬件芯片保證)、查詢終端等。uClinux是Linux的一個(gè)變種,主要運(yùn)行在沒(méi)有內(nèi)存管理單元(MMU)的CPU架構(gòu)上。因?yàn)闆](méi)有內(nèi)存管理單元,uClinux無(wú)法實(shí)現(xiàn)現(xiàn)代操作系統(tǒng)能夠提供的進(jìn)程地址空間保護(hù)等高級(jí)特性,但它最大程度地保留了Linux的系統(tǒng)調(diào)用功能,而且資源消耗低,因此在一些中低端的32位嵌入式產(chǎn)品中得到了應(yīng)用。eCos也是一種開(kāi)源、免授權(quán)費(fèi)的RTOS產(chǎn)品。和Linux/uClinux相比,它更類(lèi)似傳統(tǒng)的實(shí)時(shí)嵌入式操作系統(tǒng),而且提供了豐富的外圍模塊,如文件系統(tǒng)、TCP/IP接口模塊、POSIX兼容接口模塊等。根據(jù)筆者的實(shí)際應(yīng)用經(jīng)驗(yàn),eCos操作系統(tǒng)在一定程度上可以用來(lái)替代傳統(tǒng)實(shí)時(shí)嵌入式操作系統(tǒng)。
3.新型實(shí)時(shí)嵌入式操作系統(tǒng)。主要包括uC/OS-II、ThreadX等操作系統(tǒng),它們的出現(xiàn),填補(bǔ)了RTOS操作系統(tǒng)市場(chǎng)的中低端市場(chǎng),給廣大嵌入式產(chǎn)品開(kāi)發(fā)者提供了性價(jià)比較高的選擇。
4.本地實(shí)時(shí)嵌入式操作系統(tǒng)。近幾年,中國(guó)也有廠商開(kāi)始提供自主研發(fā)的實(shí)時(shí)嵌入式操作系統(tǒng),典型的有Hopen和Delta操作系統(tǒng)。這些產(chǎn)品已經(jīng)在消費(fèi)類(lèi)電子產(chǎn)品和軍工領(lǐng)域中得到了一些應(yīng)用。
通過(guò)上面的介紹可以看到,嵌入式操作系統(tǒng)市場(chǎng)中存在各種產(chǎn)品可供選擇。嵌入式產(chǎn)品的種類(lèi)豐富,需求多樣,不太可能出現(xiàn)類(lèi)似PC那樣由一個(gè)操作系統(tǒng)?霸天下的狀況。
評(píng)論