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