我們這些記得DOS和其他命令界面的人欣賞圖形用戶界面(GUI)的發(fā)明:圖形控件和顯示使我們更加高效和富有成效,因?yàn)樗鼈冎庇^,幾乎不需要學(xué)習(xí)。GUI 讓生活更輕松,無論是編寫代碼還是玩游戲。
為什么?俗話說,一張圖片勝過千言萬語。但在操作控制方面,它實(shí)際上更有價(jià)值??焖僮x者可以以每分鐘大約 200 字(或大約 900 字節(jié))的速度校對材料。出于同樣的原因,視頻游戲玩家以每秒 60 幀的速度在 1920 x 1080 像素的屏幕上操縱圖像,每分鐘可以理解大約 22 GB。因此,通過圖形信息與文本信息移動控件的勝利超過 2200 萬倍。
人們幾乎可以瞬間吸收大量的感官數(shù)據(jù)。想想汽車在夜間進(jìn)出高速交通,這種情況每天都在發(fā)生,事故相對較少。但是,如果你蒙住這些司機(jī)的眼睛,給他們口頭命令,告訴他們什么時(shí)候該下地板,什么時(shí)候踩剎車,什么時(shí)候轉(zhuǎn)彎,那將是一個災(zāi)難場景。
可視化面臨的挑戰(zhàn)
如果流程中的每個步驟都可以直觀地而不是文本地進(jìn)行驗(yàn)證和測試,那么編寫代碼就會容易得多。如果您知道數(shù)據(jù)在程序中某些點(diǎn)的外觀,但可視化指示相反,則可以在問題成倍增加之前停止并修復(fù)問題。借助 GUI,可以在編碼時(shí)對算法進(jìn)行檢測、仿真和演示,從而縮短調(diào)試時(shí)間。然而,盡管市場上有許多GUI套件,但GUI在嵌入式世界中并不是必不可少的。
程序員可能看不到GUI的成本/收益,因?yàn)?a target="_blank">嵌入式軟件(如導(dǎo)彈跟蹤系統(tǒng)或雷達(dá)處理應(yīng)用程序)可能不需要圖形支持。例如,目標(biāo)處理器甚至可能沒有圖形芯片。此外,GUI 會耗盡處理器周期并造成瓶頸,這兩者都是絕對不可接受的。此外,GUI 通常涉及大量代碼,并且工具包可能需要廣泛的學(xué)習(xí)曲線,因?yàn)槌绦騿T熟悉數(shù)百甚至數(shù)千個應(yīng)用程序接口 (API)。
更重要的是,傳統(tǒng)的GUI(從非確定性世界中出現(xiàn))很難適應(yīng)嵌入式處理的需求。首先,GUI軟件通常用于事件驅(qū)動的編程模型,其中許多編程循環(huán)在后臺“休眠”,直到由鼠標(biāo)單擊或按鍵等操作觸發(fā)。根據(jù)用戶輸入,組件的執(zhí)行順序?qū)⒉豢深A(yù)測地變化。這種多功能性非常適合文字處理等功能。相比之下,需要高度可預(yù)測性能的實(shí)時(shí)嵌入式處理應(yīng)用程序通常依賴于順序編程模型,其中程序中的每個步驟都是預(yù)先確定的,并根據(jù)嚴(yán)格的時(shí)間表執(zhí)行。
嵌入式軟件的開發(fā)人員一直不愿意開發(fā)GUI,因?yàn)閭鹘y(tǒng)的GUI會增加開發(fā)和維護(hù)成本,消耗周期,并且似乎沒有必要。
如果?
如果嵌入式軟件世界可以在不產(chǎn)生成本的情況下獲得 GUI 的好處,那會怎樣?對于初學(xué)者來說,這將需要易于使用的GUI開發(fā)工具包,可以快速創(chuàng)建簡潔的界面。GUI 還需要與目標(biāo)代碼分離,以便可以根據(jù)需要遠(yuǎn)程運(yùn)行可視化。
由于這些 GUI 將比非嵌入式世界中的系統(tǒng)更小、更簡單——不需要下拉菜單或彈出對話框——這些套件將涉及更少的 API。GUI將專注于輸入和可視化數(shù)據(jù)的基本必要性。應(yīng)用程序開銷將限制為在必要時(shí)通過通常內(nèi)置于現(xiàn)代板中的TCP連接發(fā)送和接收數(shù)據(jù)。
如果 GUI 可以快速設(shè)置并允許開發(fā)人員最大限度地減少編碼和調(diào)試時(shí)間,那么這將是一個成功的方案。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5126文章
19446瀏覽量
313334 -
GUI
+關(guān)注
關(guān)注
3文章
671瀏覽量
40593
發(fā)布評論請先 登錄
EE-322:面向SHARC處理器的專家代碼生成器

EE-306:PGO linker-面向Blackfin處理器的代碼布局工具

DRV8434SEVM GUI用戶指南

MSP-TouchPro GUI用戶指南

DRV8428EEVM GUI用戶指南

DRV8428PEVM GUI用戶指南

Scalable PMICs GUI用戶指南

評論