|
南京嵌入式培訓(xùn)班_先進的IDE支持富媒體嵌入式系統(tǒng),
嵌入式系統(tǒng)開發(fā)的性質(zhì)在快速變化。該術(shù)語起源于此類計算機系統(tǒng)還是以嵌入方式安裝于用戶設(shè)備的年代。那時少有用戶界面,甚至根本沒有用戶界面以反映計算機系統(tǒng)的存在。能反映其存在的,最多也就是命令行顯示和一組實物按鈕而已。然而,隨著系統(tǒng)越來越精密,這種簡陋的用戶界面表現(xiàn)出越來越大的局限性,使得OEM更加趨向于部署更多的面向圖形的、基于屏幕的用戶界面,能通過一系列菜單或頁面更多地展現(xiàn)系統(tǒng)功能。
如今,用戶界面已不再僅僅是系統(tǒng)不可分割的一部分,而且還是系統(tǒng)的主要賣點之一。機動車輛的電器和資訊娛樂裝置不斷朝著大型觸摸型顯示器發(fā)展,強調(diào)的不僅僅是圖形能力,而且還有底層軟件和操作系統(tǒng)的響應(yīng)能力。因此,對于富媒體用戶界面GUI而言,單純的追求功能和效用是遠遠不夠的。最終用戶還要求界面具有很強的吸引力。要做到這點,需要增加高性能的動畫技術(shù),形成活動背景,并在視覺模式和菜單之間形成便捷的切換。
軟件復(fù)雜度越來越高
之所以趨向于視覺吸引,一部分原因是由于高性能32位處理器越來越多,造價也越來越低,而這類處理器又往往具有多核內(nèi)置式圖形處理器(GPU)。這些裝置可用來減少對CPU主線程資源的占用,使其可以更好地完成對實時事件和數(shù)據(jù)的處理。處理元素的增加加大了開發(fā)流程的復(fù)雜性,也使得多處理器已經(jīng)成為當代開發(fā)項目的模式。
當然,軟件復(fù)雜度越來越高,并不僅僅是因為多個處理器的存在造成的。以往使用文本型菜單樹狀結(jié)構(gòu)的用戶界面,較容易建立一套用戶界面對話。由于對話采用的是命令行顯示的模式化方式展現(xiàn)的,其信息可按照結(jié)構(gòu)化方式展示和檢索。而當今的圖形密集型用戶界面則需要采取更具動態(tài)性的方式。這種方式通常采用一種事件循環(huán),并要求具備多線程條件來保證不會影響對用戶界面的處理。
用戶實際上可以在任何時間,通過多種渠道完成更新。例如,觸摸式系統(tǒng)可能不只是接受虛擬按鈕的按壓和滾屏移動,而且還需要識別多種不同的手勢。而這些手勢因當時正在運行的應(yīng)用的類型不同,意義也會各有差別。這些手勢可能是由在主處理器上運行的軟件負責分析,也可能是由專用觸摸界面裝置配套的軟件負責分析。無論其來源如何,手勢及其它輸入都需要立即處理,并傳送到正確的流程上。
從零開始建立一套工作系統(tǒng),需要大量的元件。元件類型多種多樣,從使處理器在接入的顯示器上顯示像素的核心圖形驅(qū)動器,到圖形、音像庫,直至界面設(shè)計工具等。即使對編程技術(shù)所知甚少的用戶界面設(shè)計專家,也能設(shè)計出魅力四射的界面。對于桌面編程人員而言,上述要求已經(jīng)夠難實現(xiàn)了。
而更大的難題在于,還需要具有交叉編譯功能的有效工作流程,才能將工作二進制文件傳送給嵌入式目標平臺。每一套開發(fā)、編譯、鏈接、部署和測試環(huán)節(jié)都要消耗大量的時間。
對于當前處于開發(fā)期的眾多嵌入式系統(tǒng)而言,連通性也是一項必須考慮的問題。嵌入式系統(tǒng)不僅要求能夠在互聯(lián)網(wǎng)上傳輸數(shù)據(jù),而且還要能存儲和操縱需由服務(wù)器在云端同步的結(jié)構(gòu)化數(shù)據(jù)。SQL等數(shù)據(jù)庫查詢系統(tǒng)及XQuery和JSON等配套網(wǎng)絡(luò)技術(shù),為在線數(shù)據(jù)源提供了必要的連接。但這些也都是嵌入式系統(tǒng)開發(fā)商必須置入其目標平臺之中的附加模塊。
而所有嵌入式項目都禁止通過低級組件執(zhí)行上述功能。因此,合理選擇含有用戶界面創(chuàng)建、裝置部署和連接所需高級框架和工具的軟件堆棧,就成了新建嵌入式項目的其中一項重大決策。然后,再以軟件堆棧的具體要求為條件選擇硬件。
采用Linux框架建設(shè)的軟件環(huán)境已成為嵌入式系統(tǒng)的有效平臺。其中之一是安卓系統(tǒng)。安卓原為谷歌專為移動電話和平板電腦開發(fā)的系統(tǒng),但現(xiàn)在越來越多地應(yīng)用于工業(yè)系統(tǒng)及Yocto等嵌入式Linux分布系統(tǒng)。這些平臺可隨時支持多數(shù)移動和桌面游戲使用的OpenGL等三維圖形界面,同時還有HTTP和 TCP/IP等網(wǎng)絡(luò)連接系統(tǒng)。但這些系統(tǒng)仍然需要組裝并提供給開發(fā)商使用。
利用有效的IDE優(yōu)化工作流程開發(fā)游戲和嵌入式, 嵌入式音頻處理, 嵌入式編程筆試, 嵌入式應(yīng)用節(jié)能開發(fā), 掏墻嵌入式百葉壁櫥, st嵌入式開發(fā)軟件, 嵌入式安全出口牌, 嵌入式電子相冊代碼, 嵌入式軟件測試類型, 華清遠見嵌入式學(xué)習, 嵌入式系統(tǒng)生存周期, 嵌入式壁櫥好做嗎, 嵌入式車載電腦, 大學(xué)嵌入式有工資, 如何做嵌入式函數(shù), 嵌入式的核心技術(shù), 嵌入式行業(yè)標準,
隨著集成開發(fā)環(huán)境(IDE)的不斷發(fā)展,現(xiàn)在已經(jīng)兼顧到越來越復(fù)雜的平臺支持問題,使應(yīng)用開發(fā)商看不到其中的很多復(fù)雜情況。桌面和移動環(huán)境已經(jīng)引入了眾多技術(shù),不斷降低高度動畫性的用戶界面的開發(fā)難度。只需合理的技能和經(jīng)驗,就可將其應(yīng)用于嵌入式環(huán)境中。
這類IDE的其中一項重要因素,是能同時支持桌面和嵌入式兩種環(huán)境。這樣一來,很多的應(yīng)用邏輯和用戶界面都可以直接在桌面環(huán)境下就地開發(fā),然后移植到嵌入式對象上進行性能和最終測試。隨著軟件工程越來越多地傾向于快捷型開發(fā)過程,嵌入式系統(tǒng)開發(fā)也越來越需要一種能支持快速成型的工作流程。
通過桌面設(shè)備在對象上模擬界面的虛擬幀緩沖等技術(shù),無須反復(fù)部署和在實際對象上進行測試,即可確保圖形和動畫技術(shù)在目標平臺上被有效使用;谧烂娴挠脩艚缑骈_發(fā),能實現(xiàn)快速成型,支持潛在客戶和用戶的驗收測試,確保最終產(chǎn)品能取得市場成功。
跨平臺開發(fā)的另一個關(guān)鍵,是具有統(tǒng)一的平臺API,該API由開放源Qt類庫提供。經(jīng)過十多年的發(fā)展,Qt已經(jīng)建立了完善成熟的跨平臺代碼類庫,并針對桌面、移動和嵌入式對象項目進行優(yōu)化。多年以來,Qt不僅在移動電話中得到廣泛應(yīng)用,而且還不斷應(yīng)用于醫(yī)療設(shè)備、機頂盒及汽車資訊娛樂和儀表盤系統(tǒng)。
Qt Creator
Qt Creator是支持媒體密集型嵌入式系統(tǒng)開發(fā)的IDE之一。它是不久前推出的Qt Enterprise Embedded (Qt企業(yè)嵌入式)環(huán)境的其中一部分。Qt Creator可實現(xiàn)開發(fā)商桌面本地執(zhí)行與開發(fā)對象項目之間的輕松切換,縮短了編輯-編譯-調(diào)試周期;同時設(shè)有內(nèi)置的裝置調(diào)試,確保開發(fā)商能在對象項目上使用與本地環(huán)境內(nèi)部相同的調(diào)試功能。
Qt Creator頂面為建立圖形密集型嵌入式應(yīng)用系統(tǒng)所需的整套框架,可選用的技術(shù)從HTML5等網(wǎng)絡(luò)技術(shù),直至C++等高性能原生語言。 [!--empirenews.page--]
HTML5具有廣為用戶界面和富媒體開發(fā)商所用的優(yōu)勢。JavaScript語言建立在廣泛應(yīng)用回調(diào)功能的事件驅(qū)動界面理念上,對于此類開發(fā)項目而言,要比C++更加直觀。不過,HTML5往往會耗用大量資源,而且不能保證每次都能在用戶界面上實現(xiàn)流動性能。
Qt Enterprise Embedded包括Qt Quick技術(shù)。該技術(shù)采用由下至上結(jié)構(gòu),能形成高性能的流暢用戶界面。使用原生C++類庫和OpenGL ES,通過GPU和CPU上的一個獨立線程來完成圖形渲染。對于開發(fā)者而言,Qt Quick提供了一種高級的聲明性語言QML,它能縮短開發(fā)周期,同時方便與用戶界面設(shè)計師配合工作。
Qt Enterprise Embedded的其它擴展還有廣泛的SQL支持功能。可通過XQuery和JSON等標準的面向Web型接口,同時接入本地數(shù)據(jù)庫和基于網(wǎng)絡(luò)的數(shù)據(jù)庫。
由于該富媒體環(huán)境可選用很多種技術(shù),Qt Creator提供的框架可建立自定義的本地型編輯器,使企業(yè)能夠創(chuàng)建高效的開發(fā)系統(tǒng),用于支持其自有的優(yōu)化技術(shù)選擇,確保順利遷移到高級嵌入式應(yīng)用開發(fā)項目中。
隨著嵌入式系統(tǒng)不斷引入了更加先進的用戶界面,開發(fā)技術(shù)也隨之不斷變化。先進的IDE支持能確保這一演變不僅便于管理,而且其創(chuàng)建的應(yīng)用也能針對目標系統(tǒng)不斷優(yōu)化。 |
|