電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 2143|回復(fù): 0
收起左側(cè)

南京嵌入式培訓(xùn)班_先進(jìn)的IDE支持富媒體嵌入式系統(tǒng)

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-4 16:18:08 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
南京嵌入式培訓(xùn)班_先進(jìn)的IDE支持富媒體嵌入式系統(tǒng),   

嵌入式系統(tǒng)開(kāi)發(fā)的性質(zhì)在快速變化。該術(shù)語(yǔ)起源于此類(lèi)計(jì)算機(jī)系統(tǒng)還是以嵌入方式安裝于用戶(hù)設(shè)備的年代。那時(shí)少有用戶(hù)界面,甚至根本沒(méi)有用戶(hù)界面以反映計(jì)算機(jī)系統(tǒng)的存在。能反映其存在的,最多也就是命令行顯示和一組實(shí)物按鈕而已。然而,隨著系統(tǒng)越來(lái)越精密,這種簡(jiǎn)陋的用戶(hù)界面表現(xiàn)出越來(lái)越大的局限性,使得OEM更加趨向于部署更多的面向圖形的、基于屏幕的用戶(hù)界面,能通過(guò)一系列菜單或頁(yè)面更多地展現(xiàn)系統(tǒng)功能。

  
  




如今,用戶(hù)界面已不再僅僅是系統(tǒng)不可分割的一部分,而且還是系統(tǒng)的主要賣(mài)點(diǎn)之一。機(jī)動(dòng)車(chē)輛的電器和資訊娛樂(lè)裝置不斷朝著大型觸摸型顯示器發(fā)展,強(qiáng)調(diào)的不僅僅是圖形能力,而且還有底層軟件和操作系統(tǒng)的響應(yīng)能力。因此,對(duì)于富媒體用戶(hù)界面GUI而言,單純的追求功能和效用是遠(yuǎn)遠(yuǎn)不夠的。最終用戶(hù)還要求界面具有很強(qiáng)的吸引力。要做到這點(diǎn),需要增加高性能的動(dòng)畫(huà)技術(shù),形成活動(dòng)背景,并在視覺(jué)模式和菜單之間形成便捷的切換。

軟件復(fù)雜度越來(lái)越高

之所以趨向于視覺(jué)吸引,一部分原因是由于高性能32位處理器越來(lái)越多,造價(jià)也越來(lái)越低,而這類(lèi)處理器又往往具有多核內(nèi)置式圖形處理器(GPU)。這些裝置可用來(lái)減少對(duì)CPU主線(xiàn)程資源的占用,使其可以更好地完成對(duì)實(shí)時(shí)事件和數(shù)據(jù)的處理。處理元素的增加加大了開(kāi)發(fā)流程的復(fù)雜性,也使得多處理器已經(jīng)成為當(dāng)代開(kāi)發(fā)項(xiàng)目的模式。

當(dāng)然,軟件復(fù)雜度越來(lái)越高,并不僅僅是因?yàn)槎鄠(gè)處理器的存在造成的。以往使用文本型菜單樹(shù)狀結(jié)構(gòu)的用戶(hù)界面,較容易建立一套用戶(hù)界面對(duì)話(huà)。由于對(duì)話(huà)采用的是命令行顯示的模式化方式展現(xiàn)的,其信息可按照結(jié)構(gòu)化方式展示和檢索。而當(dāng)今的圖形密集型用戶(hù)界面則需要采取更具動(dòng)態(tài)性的方式。這種方式通常采用一種事件循環(huán),并要求具備多線(xiàn)程條件來(lái)保證不會(huì)影響對(duì)用戶(hù)界面的處理。

用戶(hù)實(shí)際上可以在任何時(shí)間,通過(guò)多種渠道完成更新。例如,觸摸式系統(tǒng)可能不只是接受虛擬按鈕的按壓和滾屏移動(dòng),而且還需要識(shí)別多種不同的手勢(shì)。而這些手勢(shì)因當(dāng)時(shí)正在運(yùn)行的應(yīng)用的類(lèi)型不同,意義也會(huì)各有差別。這些手勢(shì)可能是由在主處理器上運(yùn)行的軟件負(fù)責(zé)分析,也可能是由專(zhuān)用觸摸界面裝置配套的軟件負(fù)責(zé)分析。無(wú)論其來(lái)源如何,手勢(shì)及其它輸入都需要立即處理,并傳送到正確的流程上。

從零開(kāi)始建立一套工作系統(tǒng),需要大量的元件。元件類(lèi)型多種多樣,從使處理器在接入的顯示器上顯示像素的核心圖形驅(qū)動(dòng)器,到圖形、音像庫(kù),直至界面設(shè)計(jì)工具等。即使對(duì)編程技術(shù)所知甚少的用戶(hù)界面設(shè)計(jì)專(zhuān)家,也能設(shè)計(jì)出魅力四射的界面。對(duì)于桌面編程人員而言,上述要求已經(jīng)夠難實(shí)現(xiàn)了。

而更大的難題在于,還需要具有交叉編譯功能的有效工作流程,才能將工作二進(jìn)制文件傳送給嵌入式目標(biāo)平臺(tái)。每一套開(kāi)發(fā)、編譯、鏈接、部署和測(cè)試環(huán)節(jié)都要消耗大量的時(shí)間。

對(duì)于當(dāng)前處于開(kāi)發(fā)期的眾多嵌入式系統(tǒng)而言,連通性也是一項(xiàng)必須考慮的問(wèn)題。嵌入式系統(tǒng)不僅要求能夠在互聯(lián)網(wǎng)上傳輸數(shù)據(jù),而且還要能存儲(chǔ)和操縱需由服務(wù)器在云端同步的結(jié)構(gòu)化數(shù)據(jù)。SQL等數(shù)據(jù)庫(kù)查詢(xún)系統(tǒng)及XQuery和JSON等配套網(wǎng)絡(luò)技術(shù),為在線(xiàn)數(shù)據(jù)源提供了必要的連接。但這些也都是嵌入式系統(tǒng)開(kāi)發(fā)商必須置入其目標(biāo)平臺(tái)之中的附加模塊。

而所有嵌入式項(xiàng)目都禁止通過(guò)低級(jí)組件執(zhí)行上述功能。因此,合理選擇含有用戶(hù)界面創(chuàng)建、裝置部署和連接所需高級(jí)框架和工具的軟件堆棧,就成了新建嵌入式項(xiàng)目的其中一項(xiàng)重大決策。然后,再以軟件堆棧的具體要求為條件選擇硬件。

采用Linux框架建設(shè)的軟件環(huán)境已成為嵌入式系統(tǒng)的有效平臺(tái)。其中之一是安卓系統(tǒng)。安卓原為谷歌專(zhuān)為移動(dòng)電話(huà)和平板電腦開(kāi)發(fā)的系統(tǒng),但現(xiàn)在越來(lái)越多地應(yīng)用于工業(yè)系統(tǒng)及Yocto等嵌入式Linux分布系統(tǒng)。這些平臺(tái)可隨時(shí)支持多數(shù)移動(dòng)和桌面游戲使用的OpenGL等三維圖形界面,同時(shí)還有HTTP和 TCP/IP等網(wǎng)絡(luò)連接系統(tǒng)。但這些系統(tǒng)仍然需要組裝并提供給開(kāi)發(fā)商使用。

利用有效的IDE優(yōu)化工作流程開(kāi)發(fā)游戲和嵌入式, 嵌入式音頻處理, 嵌入式編程筆試, 嵌入式應(yīng)用節(jié)能開(kāi)發(fā), 掏墻嵌入式百葉壁櫥, st嵌入式開(kāi)發(fā)軟件, 嵌入式安全出口牌, 嵌入式電子相冊(cè)代碼, 嵌入式軟件測(cè)試類(lèi)型, 華清遠(yuǎn)見(jiàn)嵌入式學(xué)習(xí), 嵌入式系統(tǒng)生存周期, 嵌入式壁櫥好做嗎, 嵌入式車(chē)載電腦, 大學(xué)嵌入式有工資, 如何做嵌入式函數(shù), 嵌入式的核心技術(shù), 嵌入式行業(yè)標(biāo)準(zhǔn),

隨著集成開(kāi)發(fā)環(huán)境(IDE)的不斷發(fā)展,現(xiàn)在已經(jīng)兼顧到越來(lái)越復(fù)雜的平臺(tái)支持問(wèn)題,使應(yīng)用開(kāi)發(fā)商看不到其中的很多復(fù)雜情況。桌面和移動(dòng)環(huán)境已經(jīng)引入了眾多技術(shù),不斷降低高度動(dòng)畫(huà)性的用戶(hù)界面的開(kāi)發(fā)難度。只需合理的技能和經(jīng)驗(yàn),就可將其應(yīng)用于嵌入式環(huán)境中。

這類(lèi)IDE的其中一項(xiàng)重要因素,是能同時(shí)支持桌面和嵌入式兩種環(huán)境。這樣一來(lái),很多的應(yīng)用邏輯和用戶(hù)界面都可以直接在桌面環(huán)境下就地開(kāi)發(fā),然后移植到嵌入式對(duì)象上進(jìn)行性能和最終測(cè)試。隨著軟件工程越來(lái)越多地傾向于快捷型開(kāi)發(fā)過(guò)程,嵌入式系統(tǒng)開(kāi)發(fā)也越來(lái)越需要一種能支持快速成型的工作流程。

通過(guò)桌面設(shè)備在對(duì)象上模擬界面的虛擬幀緩沖等技術(shù),無(wú)須反復(fù)部署和在實(shí)際對(duì)象上進(jìn)行測(cè)試,即可確保圖形和動(dòng)畫(huà)技術(shù)在目標(biāo)平臺(tái)上被有效使用;谧烂娴挠脩(hù)界面開(kāi)發(fā),能實(shí)現(xiàn)快速成型,支持潛在客戶(hù)和用戶(hù)的驗(yàn)收測(cè)試,確保最終產(chǎn)品能取得市場(chǎng)成功。

跨平臺(tái)開(kāi)發(fā)的另一個(gè)關(guān)鍵,是具有統(tǒng)一的平臺(tái)API,該API由開(kāi)放源Qt類(lèi)庫(kù)提供。經(jīng)過(guò)十多年的發(fā)展,Qt已經(jīng)建立了完善成熟的跨平臺(tái)代碼類(lèi)庫(kù),并針對(duì)桌面、移動(dòng)和嵌入式對(duì)象項(xiàng)目進(jìn)行優(yōu)化。多年以來(lái),Qt不僅在移動(dòng)電話(huà)中得到廣泛應(yīng)用,而且還不斷應(yīng)用于醫(yī)療設(shè)備、機(jī)頂盒及汽車(chē)資訊娛樂(lè)和儀表盤(pán)系統(tǒng)。

Qt Creator

Qt Creator是支持媒體密集型嵌入式系統(tǒng)開(kāi)發(fā)的IDE之一。它是不久前推出的Qt Enterprise Embedded (Qt企業(yè)嵌入式)環(huán)境的其中一部分。Qt Creator可實(shí)現(xiàn)開(kāi)發(fā)商桌面本地執(zhí)行與開(kāi)發(fā)對(duì)象項(xiàng)目之間的輕松切換,縮短了編輯-編譯-調(diào)試周期;同時(shí)設(shè)有內(nèi)置的裝置調(diào)試,確保開(kāi)發(fā)商能在對(duì)象項(xiàng)目上使用與本地環(huán)境內(nèi)部相同的調(diào)試功能。

  
  




Qt Creator頂面為建立圖形密集型嵌入式應(yīng)用系統(tǒng)所需的整套框架,可選用的技術(shù)從HTML5等網(wǎng)絡(luò)技術(shù),直至C++等高性能原生語(yǔ)言。 [!--empirenews.page--]

HTML5具有廣為用戶(hù)界面和富媒體開(kāi)發(fā)商所用的優(yōu)勢(shì)。JavaScript語(yǔ)言建立在廣泛應(yīng)用回調(diào)功能的事件驅(qū)動(dòng)界面理念上,對(duì)于此類(lèi)開(kāi)發(fā)項(xiàng)目而言,要比C++更加直觀。不過(guò),HTML5往往會(huì)耗用大量資源,而且不能保證每次都能在用戶(hù)界面上實(shí)現(xiàn)流動(dòng)性能。

Qt Enterprise Embedded包括Qt Quick技術(shù)。該技術(shù)采用由下至上結(jié)構(gòu),能形成高性能的流暢用戶(hù)界面。使用原生C++類(lèi)庫(kù)和OpenGL ES,通過(guò)GPU和CPU上的一個(gè)獨(dú)立線(xiàn)程來(lái)完成圖形渲染。對(duì)于開(kāi)發(fā)者而言,Qt Quick提供了一種高級(jí)的聲明性語(yǔ)言QML,它能縮短開(kāi)發(fā)周期,同時(shí)方便與用戶(hù)界面設(shè)計(jì)師配合工作。

Qt Enterprise Embedded的其它擴(kuò)展還有廣泛的SQL支持功能?赏ㄟ^(guò)XQuery和JSON等標(biāo)準(zhǔn)的面向Web型接口,同時(shí)接入本地?cái)?shù)據(jù)庫(kù)和基于網(wǎng)絡(luò)的數(shù)據(jù)庫(kù)。

由于該富媒體環(huán)境可選用很多種技術(shù),Qt Creator提供的框架可建立自定義的本地型編輯器,使企業(yè)能夠創(chuàng)建高效的開(kāi)發(fā)系統(tǒng),用于支持其自有的優(yōu)化技術(shù)選擇,確保順利遷移到高級(jí)嵌入式應(yīng)用開(kāi)發(fā)項(xiàng)目中。

隨著嵌入式系統(tǒng)不斷引入了更加先進(jìn)的用戶(hù)界面,開(kāi)發(fā)技術(shù)也隨之不斷變化。先進(jìn)的IDE支持能確保這一演變不僅便于管理,而且其創(chuàng)建的應(yīng)用也能針對(duì)目標(biāo)系統(tǒng)不斷優(yōu)化。

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表