官术网_书友最值得收藏!

1.2 嵌入式GUI系統的設計原則

嵌入式GUI系統,要提供給上層的應用程序繪制圖形界面以及接收用戶輸入的能力。從實現的方式上,它既可以是一套庫,也可以是和應用程序一起編譯的源代碼。

在嵌入式系統中,GUI系統是實現圖形化界面的核心。由于嵌入式系統的特殊性。在設計原則方面,嵌入式的GUI系統應該具有以下幾個特點:

● 可移植性

相比通用計算機系統統一的軟硬件結構,各個不同的嵌入式系統之間相差較大。作為一款成功的嵌入式GUI系統,應該能在不同的嵌入式平臺中運行,這就需要嵌入式GUI系統具有較強的可移植性。

所謂可移植性,體現在操作系統和硬件結構兩個方面。在操作系統方面,由于嵌入式GUI系統需要建立在操作系統提供的一定機制上面(例如多任務支持、任務間通信等),而不同的操作系統提供的機制完全不同。為了能在不同的操作系統中運行,嵌入式GUI就需要具有一定的可移植層來支持不同的操作系統。硬件方面又包括了CPU體系結構、輸出設備、輸入設備等方面:適應不同CPU體系結構,需要嵌入式GUI系統的代碼可以在不同的編譯器上編譯,一般來說C語言實現的系統可以滿足這個要求,但使用特定體系結構匯編的實現就不能適應這種需求;輸出設備(顯示屏)和輸入設備(鍵盤、鼠標、觸摸屏、按鍵)在不同的嵌入式系統中相差也很大,這也要求嵌入式GUI系統可以支持不同系統的硬件接口。

● 較高的穩定性和可靠性

嵌入式系統對穩定性和可靠性有很嚴格的要求。個人PC的崩潰可以通過重新啟動等方式彌補,但是嵌入式系統的崩潰就可能導致無法挽回的嚴重后果。因此嵌入式GUI系統,需要具有更強的穩定性和可靠性。例如:在一些控制、通信系統中,GUI系統屬于提供的是輔助的人機交互功能,如果由于GUI系統的問題,導致系統核心功能崩潰,這絕對是得不償失的。

事實上,在一些嵌入式系統中,缺少了不同任務的保護機制,整個系統運行在一個內存空間內,因此,由于一個子系統的問題導致整個系統崩潰的概率更高。對于嵌入式GUI系統,一方面需要有較高的穩定性和可靠性,減少崩潰的概率;另一方面,在GUI系統已經崩潰的情況下,也需要確保盡量較少影響其他子系統的工作,將問題控制在一定范圍內。

● 系統開銷少

相對PC系統,嵌入式系統的資源都是相對有限的。系統的資源包括,包括處理器的頻率、Flash的空間和RAM空間等幾個部分。在嵌入式系統中,不但資源有限,而且通常還運行著一些比GUI系統更重要的程序。因此,嵌入式GUI系統必須具有開銷小的特點,不能搶占系統過多的資源。從編譯的角度,GUI子系統代碼規模要有限制,避免占用太多的Flash;從運行的角度,GUI子系統的處理器開銷和內存開銷也是需要嚴格限制的。如果占用系統資源太多,不但GUI系統將無法正常運行,甚至造成整個系統無法工作。

● 較高可配置性

在嵌入式應用中,由于不同的系統相差較大,因此嵌入式GUI系統最好具有一定的可配置型,從而適應不同系統的需求。成功的嵌入式GUI系統需要適應不同嵌入式應用的需求。

可配置性通常包括可裁減性、界面特性配置、皮膚和主題配置等方面。在剪裁性方面,GUI系統可以提供很多的功能,但是在所有的功能并不是都要在某種特定系統上使用,可以去掉不相關的功能來節省系統的開銷。對于界面的特性配置,需要適應不同的解決方案需求,例如,一個智能手機的界面和一個工控儀表的界面相差很大,用戶輸入方式的差別更大。此外,在界面基本相同的情況下,皮膚和主題的更改和配置也可提供系統的靈活性。

可配置性的實現通常有兩種手段,一種是通過條件編譯來實現,一種是通過配置文件實現運行時(Run Time)的配置。

提示:在學習一個嵌入式GUI特性和功能的時候,需要關注可移植性、穩定性和可靠性、系統開銷、可配置性等幾個方面的內容。

一般來說,嵌入式GUI系統的設計并不依賴于某個特定的系統。實現嵌入式系統的GUI應用程序的開發,只需要對GUI系統移植和使用。在嵌入式系統的開發中,GUI系統一般屬于中間層,不需要改動。對于某些開源的GUI系統,也可以針對特定的應用改動或者優化。對于嵌入式GUI系統,關注的重點在上層的接口應用和下層的移植兩個方面。

主站蜘蛛池模板: 东兴市| 中超| 镇巴县| 辽源市| 屯昌县| 维西| 固阳县| 万载县| 岑溪市| 松潘县| 惠东县| 宁津县| 临邑县| 虞城县| 英山县| 屯留县| 承德市| 大厂| 鹤山市| 灯塔市| 汶川县| 昌乐县| 山阴县| 阿勒泰市| 遵义市| 泸溪县| 鄂托克旗| 南投市| 屯昌县| 子洲县| 溧水县| 白沙| 沐川县| 民丰县| 平远县| 武功县| 通榆县| 西峡县| 石棉县| 扎囊县| 太谷县|