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