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