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

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

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

嵌入式培訓(xùn)機(jī)構(gòu)坑爹_關(guān)于嵌入式應(yīng)用框架(EAF)的分析

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

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

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-7-21 14:03:19 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
嵌入式培訓(xùn)機(jī)構(gòu)坑爹_關(guān)于嵌入式應(yīng)用框架(EAF)的分析,   

(文章來(lái)源:電子工程網(wǎng))

EAF是Embedded Application Framework 的縮寫(xiě),即嵌入式應(yīng)用框架。嵌入式應(yīng)用框架是 ApplicaTIon framework的一種, 是在嵌入式領(lǐng)域的應(yīng)用框架。ApplicaTIon Framework——應(yīng)用框架,是一種軟件框架,軟件開(kāi)發(fā)人員用應(yīng)用框架作為標(biāo)準(zhǔn)結(jié)構(gòu),以便實(shí)現(xiàn)應(yīng)用軟件。

軟件框架是一個(gè)抽象的概念, 是提供了通用的軟件功能,可以通過(guò)用戶編寫(xiě)代碼有選擇地改變, 從而提供特定的軟件應(yīng)用。 軟件框架提供了構(gòu)建和部署應(yīng)用程序的標(biāo)準(zhǔn)方式。 軟件框架是一個(gè)通用的、可重用的軟件環(huán)境, 它提供特定的功能, 作為大型軟件平臺(tái)的一部分, 以促進(jìn)軟件應(yīng)用程序、產(chǎn)品和解決方案的開(kāi)發(fā)。 軟件框架可能包括輔助程序、編譯器、代碼庫(kù)、工具集和API , 匯集了所有不同的組件, 便于一個(gè)項(xiàng)目或系統(tǒng)的開(kāi)發(fā)。

進(jìn)一步, 很多的系統(tǒng)架構(gòu)也引入Framework 的概念,例如,Enterprise architecture framework等等,甚至在研發(fā)管理上也同樣涌現(xiàn)了Framework,例如 Project Management Framework,Risk Management Framework等,外延在不斷在融合放大。

與一般的電腦相比, 嵌入式設(shè)備有著自己的特性, 例如耗電量低、體積小、操作范圍粗糙、單位成本低。 這是以有限的加工資源為代價(jià)的, 這使得程序和交互的難度大大增加。 然而, 通過(guò)在硬件之上建立智能機(jī)制, 利用可能存在的傳感器和存在一個(gè)嵌入式單元網(wǎng)絡(luò), 既可以在單位和網(wǎng)絡(luò)一級(jí)對(duì)現(xiàn)有資源進(jìn)行最佳管理, 并提供遠(yuǎn)遠(yuǎn)超出現(xiàn)有可用功能的增強(qiáng)功能。 這或許就是嵌入式應(yīng)用的必然性。

EAF是面向嵌入式系統(tǒng)的軟件應(yīng)用框架。嵌入式系統(tǒng)是一個(gè)在較大的機(jī)械或電氣系統(tǒng)中具有專用功能的計(jì)算機(jī)系統(tǒng), 通常具有實(shí)時(shí)計(jì)算約束。嵌入式系統(tǒng)從便攜式設(shè)備, 如數(shù)字手表和 MP3播放器, 到大型的固定設(shè)備, 如交通燈, 工廠控制器, 以及大部分復(fù)雜的系統(tǒng), 如混合動(dòng)力車、核磁共振成像和航空電子設(shè)備等等。 復(fù)雜性從低到單一的微控制器芯片, 到非常高的多個(gè)單位等等。

鑒于如此的復(fù)雜,很難有一個(gè)統(tǒng)一的應(yīng)用開(kāi)發(fā)框架。但是,參考Java 面向資源的分類(J2EE,J2SE,J2ME,Java Card等),我們可以對(duì)嵌入式系統(tǒng)的應(yīng)用框架進(jìn)行嘗試分析。由于手機(jī)的功能越來(lái)越強(qiáng)大,很多時(shí)候被認(rèn)為超出了嵌入式系統(tǒng)的范疇。但是,了解手機(jī)上的應(yīng)用框架,對(duì)于EAF而言,還是大有裨益的。

手機(jī)上的應(yīng)用開(kāi)發(fā)框架一般也被稱為 Mobile Development Framework。近些年,隨著智能手機(jī)的普及,面向手機(jī)開(kāi)發(fā)的應(yīng)用框架已被人們所熟知,例如 ios development framework,Android development framework,還有基于HTML5的混合編程框架PhoneGap等等。

尤其是Android,如果資源允許,基于android的嵌入式設(shè)備可以輕松使用android的軟件應(yīng)用框架。google 還面向嵌入式設(shè)備推出了android wearable 等一系列方案,當(dāng)然iOS 也是如此。下圖就是那張經(jīng)典的android 架構(gòu)層次圖:

  

Android應(yīng)用程序框架分為應(yīng)用層、應(yīng)用框架層、系統(tǒng)運(yùn)行庫(kù)層和Linux內(nèi)核層,在開(kāi)發(fā)應(yīng)用時(shí)就是在這個(gè)框架上進(jìn)行擴(kuò)展。智能手機(jī)的資源還是相當(dāng)豐富的,在智能手機(jī)之前的Feature Phone 同樣有著自己的應(yīng)用開(kāi)發(fā)框架,只是不如Android 和iOS 那么普及,已經(jīng)逐漸被人們所遺忘。 但是,這些應(yīng)用框架的設(shè)計(jì)思想和實(shí)現(xiàn)方式同樣有著重要的參考性。例如,Qualcomm的BREW(翻開(kāi)了歷史的回憶)。

  

BREW 指Binary RunTIme Environment for Wireless 的縮寫(xiě),從基本的層面而言,BREW 平臺(tái)就是手持設(shè)備上嵌入式芯片操作系統(tǒng)的接口或抽象層。BINARY 是指二進(jìn)制。BREW的編程接口是一套二進(jìn)制的函數(shù)庫(kù)。所有基于BREW的應(yīng)用和擴(kuò)展類被編譯和聯(lián)接成二進(jìn)制代碼,在本地執(zhí)行。

RUNTIME是指運(yùn)行時(shí)間。所有基于BREW的應(yīng)用和擴(kuò)展類志在運(yùn)行時(shí)被發(fā)現(xiàn)和調(diào)用,這一點(diǎn)很像動(dòng)態(tài)連接庫(kù),事實(shí)上,BREW的應(yīng)用和擴(kuò)展類的模擬器版本就是一個(gè)DLL。ENVIRONMENT是指環(huán)境。BREW是一個(gè)開(kāi)放而且靈活的環(huán)境,提供了大量的編程接口,并可以管理豐富的業(yè)務(wù)。

WIRELESS是指無(wú)線。BREW 可以充分無(wú)限設(shè)備的特性,快速有效的運(yùn)行與低 RAM/FLASH 的環(huán)境中,使有限的無(wú)線網(wǎng)絡(luò)資源得到有效的使用。BREW基本上遵從COM這一組件構(gòu)架的。組件架構(gòu)的一個(gè)優(yōu)點(diǎn)就是應(yīng)用可以隨時(shí)間的流逝而發(fā)展進(jìn)化,除此之外,使用組件還有一些可以使對(duì)以有應(yīng)用的升級(jí)更加方便和靈活的優(yōu)點(diǎn),如應(yīng)用的定制,組件庫(kù)以及分布式組件等。
        (責(zé)任編輯:fqj)

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

本版積分規(guī)則


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