国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式軟件架構(gòu)分層的內(nèi)涵與優(yōu)缺點(diǎn)

2022-01-10 08:08蒙曉燕
無線互聯(lián)科技 2021年21期
關(guān)鍵詞:嵌入式軟件嵌入式架構(gòu)

蒙曉燕

(內(nèi)蒙古機(jī)電職業(yè)技術(shù)學(xué)院,內(nèi)蒙古 呼和浩特 010070)

0 引言

嵌入式系統(tǒng)關(guān)鍵是以應(yīng)用為主,將計(jì)算機(jī)技術(shù)作為基礎(chǔ),充分滿足用戶對(duì)成本與功能、體積與功耗等多方面要求的系統(tǒng)。但在過去開發(fā)嵌入式系統(tǒng)軟件的時(shí)候,全部軟件涵蓋操作系統(tǒng)、應(yīng)用程序與硬件底層,是共同開發(fā)的,不能分開。伴隨嵌入式系統(tǒng)軟件規(guī)模越來越復(fù)雜,越來越龐大,該種開發(fā)模式愈發(fā)暴露出更多的缺點(diǎn)和不足。由于該模式針對(duì)不一樣的硬件平臺(tái)需要重新開始,接著開發(fā)出新的軟件就其要實(shí)現(xiàn)的功能大部分相差無幾甚而相同,但限制了軟件的反復(fù)使用,與此同時(shí)還增加了開發(fā)時(shí)間與開發(fā)成本。

1 架構(gòu)分層內(nèi)涵

伴隨社會(huì)經(jīng)濟(jì)的持續(xù)發(fā)展與進(jìn)步,開始涌現(xiàn)出了各種各樣的高新技術(shù),這些高新技術(shù)在很大程度上有效改善了傳統(tǒng)勞動(dòng)力生產(chǎn)的模式,促使人們?cè)诠ぷ鲘徫簧峡梢愿玫蒯尫懦鲎约旱臐撛谀芰?。與此同時(shí),流水線形式的生產(chǎn)模式能夠大大提高相關(guān)人員工作熟練程度,有效地減少了在實(shí)際工作中不必要出現(xiàn)的經(jīng)濟(jì)損失,不僅提高了生產(chǎn)力,還提升了經(jīng)濟(jì)效益與社會(huì)效益。

分工合作這一概念同樣適用于嵌入式軟件開發(fā)領(lǐng)域。首先,相鄰的兩個(gè)軟件模塊可以彼此緊密聯(lián)系;其次,好似金字塔結(jié)構(gòu),下層軟件層并不了解還存在高層次軟件層。因此,僅需要滿足上述兩個(gè)特點(diǎn),即為架構(gòu)分層,此為軟件架構(gòu)分層思想基礎(chǔ)[1]。軟件架構(gòu)分層發(fā)揮著重要作用,特別是在開發(fā)階段,采取架構(gòu)分層理念,可以發(fā)揮出顯著的優(yōu)勢(shì),因此需要相關(guān)人員做出更加深入的研究和探討。

2 多層軟件開發(fā)模型分析

2.1 軟件開發(fā)分層技術(shù)

在軟件開發(fā)中運(yùn)用分層技術(shù),實(shí)則是合理對(duì)用戶的一切需求展開分析與梳理,把軟件系統(tǒng)內(nèi)每一個(gè)功能領(lǐng)域抽象化,明確系統(tǒng)內(nèi)部每一個(gè)層次間的關(guān)系,繼而簡(jiǎn)化模塊開發(fā)過程,把系統(tǒng)開發(fā)問題變成了簡(jiǎn)單軟件設(shè)計(jì)方面的問題。與此同時(shí),其也能夠支持系統(tǒng)包含的全部功能。在開展軟件系統(tǒng)開發(fā)工作的時(shí)候,系統(tǒng)場(chǎng)景通常都是非常復(fù)雜的,為有效處理問題必須精細(xì)化分層,同時(shí)每一個(gè)層次間的關(guān)系、接口對(duì)接關(guān)系更難設(shè)計(jì)。分層方式有很多,但軟件開發(fā)尚未制定出相應(yīng)的標(biāo)準(zhǔn)。將實(shí)現(xiàn)計(jì)算機(jī)軟件全部功能作為基礎(chǔ),要處理每個(gè)層次間的問題,將軟件實(shí)現(xiàn)過程簡(jiǎn)化,與此同時(shí)可以隨時(shí)為上層提供服務(wù)。假設(shè)某個(gè)層次產(chǎn)生問題,那么僅會(huì)對(duì)其上一層次和下一層次帶來影響,而不會(huì)影響到整個(gè)系統(tǒng)。再者,所有層次內(nèi)部在分層時(shí),可以最大限度地實(shí)現(xiàn)軟件的一切功能。

2.2 嵌入式系統(tǒng)架構(gòu)分層

通常而言,使用嵌入式系統(tǒng)能夠把計(jì)算機(jī)軟件開發(fā)由技術(shù)層面劃分成硬件平臺(tái)與設(shè)備驅(qū)動(dòng)層等多個(gè)方面,具體如下:(1)應(yīng)用層。該層通常開展客戶應(yīng)用需求類工作,涵蓋用戶功能和人機(jī)算法等各種開發(fā)工作。(2)硬件平臺(tái)。通常涵蓋了計(jì)算機(jī)軟件的主要部分,如嵌入式微處理器,這種處理器有著很多的外接端口,有利于展開對(duì)接。同時(shí)也有一部分周邊功能電路部分,比方說液晶顯示屏和開關(guān)等。(3)設(shè)備驅(qū)動(dòng)。實(shí)現(xiàn)微處理器內(nèi)外部硬件API,可以有效給底部算法提供API,涵蓋了定時(shí)器與SPI等微處理器片內(nèi)外部驅(qū)動(dòng)和API功能的實(shí)現(xiàn),也涵蓋了微處理器片外外設(shè)溫度傳感器等驅(qū)動(dòng)與API功能實(shí)現(xiàn)。通常而言,設(shè)備驅(qū)動(dòng)為單獨(dú)的部分,將操作平臺(tái)底層硬件語言作為基礎(chǔ)構(gòu)建硬件抽象層,可有效給上層應(yīng)用提供對(duì)接端口。(4)調(diào)動(dòng)系統(tǒng)。在編寫階段能夠合理運(yùn)用嵌入式操作系統(tǒng)作為基礎(chǔ)加以編寫。通常而言,一般可以劃分成如下幾個(gè)部分,即嵌入式操作系統(tǒng)以及基礎(chǔ)應(yīng)用裁剪。又或是能夠基于已有的調(diào)度器展開如管理等專用系統(tǒng)的編寫工作。

3 嵌入式軟件架構(gòu)分層優(yōu)缺點(diǎn)

嵌入式軟件開發(fā)過程中采用架構(gòu)分層旨在有效關(guān)注“面”,特別是開發(fā)軟件的時(shí)候,可能會(huì)遭到各種各樣十分復(fù)雜的問題,不僅對(duì)于軟件開發(fā)進(jìn)度有很大的影響,還有可能會(huì)加大相關(guān)人員的工作量。因此必須要對(duì)多種抽象且復(fù)雜的問題加以分解,繼而針對(duì)性處理發(fā)生的問題,以此提高軟件實(shí)用性,加強(qiáng)用戶使用體驗(yàn)。

3.1 優(yōu)點(diǎn)

(1)相關(guān)工作人員能夠嚴(yán)格按照專業(yè)進(jìn)行明確分工,全身心關(guān)注在某個(gè)層次。(2)經(jīng)過層次間的隔離,可以快速用新的實(shí)現(xiàn)取代原本某層次的實(shí)現(xiàn),僅需要前后提供的服務(wù)接口一致,就可以替換。(3)能夠有效避免各層之間的依賴性。(4)易于制定出層標(biāo)準(zhǔn)。(5)可以有效提升軟件復(fù)用性,減少系統(tǒng)軟件開發(fā)周期,增強(qiáng)系統(tǒng)軟件質(zhì)量。

3.2 缺點(diǎn)

嵌入式軟件架構(gòu)分層的缺點(diǎn)表現(xiàn)在:(1)分層無法封裝全部功能,一部分復(fù)雜業(yè)務(wù),假設(shè)出現(xiàn)功能變動(dòng),就會(huì)牽扯到全部的層。(2)穿過層次調(diào)用,可能會(huì)降低效率,對(duì)水平分布的層級(jí)分劃,降低效率十分顯著[2]。

4 嵌入式軟件架構(gòu)分層設(shè)計(jì)方式探索

4.1 層次劃分

嵌入式軟件架構(gòu)分層一般在邏輯方面展開垂直層次劃分,于物理上展開水平層次劃分。此次闡述的架構(gòu)分層設(shè)計(jì)方式即分別由兩個(gè)角度進(jìn)行雙向劃分,也就是邏輯層與物理層,邏輯層面被叫作分層構(gòu)建,物理層面被叫作交互分層。分層構(gòu)建根據(jù)由下至上按秩序涵蓋了驅(qū)動(dòng)與基礎(chǔ)層、中間與應(yīng)用層;而交互分層涵蓋了人機(jī)界面和控制層、實(shí)體與接口層。

4.2 層次關(guān)系

交互分層每一個(gè)層次之間的關(guān)系見圖1所示,界面層承擔(dān)的職責(zé)為人機(jī)交互;控制層承擔(dān)協(xié)調(diào)的工作,接收控制命令,對(duì)實(shí)體展開有效操縱;實(shí)體層承擔(dān)運(yùn)用邏輯和數(shù)據(jù)的責(zé)任,接口層承擔(dān)外部系統(tǒng)接口封裝的工作。而構(gòu)建分層中,每一個(gè)層次間的關(guān)系就是:驅(qū)動(dòng)層承擔(dān)封裝硬件邏輯的工作;基礎(chǔ)層用來將驅(qū)動(dòng)封裝當(dāng)作基礎(chǔ)服務(wù)單元;中間層則是用來將應(yīng)用與基礎(chǔ)環(huán)境相關(guān)隔離,面向應(yīng)用提供適當(dāng)?shù)姆?wù);應(yīng)用層就是面對(duì)應(yīng)用提供服務(wù),涵蓋和硬件沒有關(guān)系的內(nèi)容,關(guān)鍵是對(duì)處理數(shù)據(jù)和控制原理等的輸出。在這些層次之中,驅(qū)動(dòng)與基礎(chǔ)層受環(huán)境影響,而應(yīng)用層與邏輯息息相關(guān),和環(huán)境毫無關(guān)系[3]。各層次間無法產(chǎn)生循環(huán)依賴性,倘若發(fā)生了循環(huán)依賴性的現(xiàn)象,那么需要使用兩種方式進(jìn)行處理,一種就是進(jìn)行共享數(shù)據(jù)區(qū)構(gòu)建;另外一種就是使用觀察者模式。

圖1 交互分層關(guān)系

4.3 層次分析與劃分原則

在進(jìn)行層次正交分析以前,需要對(duì)軟件兩個(gè)不一樣的維度分層中,層次的內(nèi)容與層次劃分加以有效確定,如此才能夠明確每一個(gè)層次間的關(guān)系。而層次劃分原則是:(1)參照正交分層;(2)相同類型開發(fā)關(guān)注點(diǎn)可分成一層;(3)常常一并復(fù)用的分成一層;(4)時(shí)常共同變化的劃分成一個(gè)層次;(5)和外部接口的需要分為一層[4]。

5 架構(gòu)分層設(shè)計(jì)實(shí)現(xiàn)舉措

本文將電機(jī)監(jiān)控系統(tǒng)嵌入式應(yīng)用軟件架構(gòu)分層當(dāng)成例子加以闡述說明:電機(jī)監(jiān)控系統(tǒng)是計(jì)算機(jī)加以控制,而控制單元關(guān)鍵是以鍵區(qū)、網(wǎng)絡(luò)以及顯示屏構(gòu)建而成;通常使用電流接觸器與奧騰轉(zhuǎn)化器開展監(jiān)控活動(dòng),以電機(jī)提供動(dòng)力方面的支持,經(jīng)過鍵區(qū)和顯示屏實(shí)現(xiàn)監(jiān)控活動(dòng),促使監(jiān)控活動(dòng)順利進(jìn)行。

相關(guān)操作人員依托鍵區(qū)控制電機(jī),通過材料成分表加以處理,經(jīng)過奧騰轉(zhuǎn)化器進(jìn)行實(shí)體監(jiān)控。實(shí)體電機(jī)把實(shí)際狀態(tài)傳遞至電流接觸器,再傳輸?shù)讲牧铣煞直?,與此同時(shí)在顯示屏上顯現(xiàn)出實(shí)況。合理運(yùn)用材料成分表能夠以網(wǎng)絡(luò)和計(jì)算機(jī)進(jìn)行連接,同時(shí)采用計(jì)算機(jī)進(jìn)行具體監(jiān)控活動(dòng)[5]。

經(jīng)過運(yùn)用嵌入式軟件架構(gòu)分層,可以了解到該種技術(shù)具備結(jié)構(gòu)清楚、邏輯純粹且分工清晰等特點(diǎn),能夠有效提高軟件開發(fā)工作效率,與此同時(shí)可以提升工作進(jìn)度,對(duì)于后續(xù)工作水平提高與優(yōu)化升級(jí)等而言是非常容易進(jìn)行的。

6 結(jié)語

綜上所言,經(jīng)過闡述嵌入式軟件架構(gòu)分層內(nèi)在涵義且經(jīng)過討論架構(gòu)分層設(shè)計(jì),能夠從中了解到在開發(fā)嵌入式軟件的時(shí)候,結(jié)合架構(gòu)分層技術(shù)具有明顯的拓展性,可以充分累積成熟的軟件功能模塊,繼而大大削弱后續(xù)對(duì)嵌入式系統(tǒng)維護(hù)的困難程度,提高軟件系統(tǒng)經(jīng)濟(jì)性以及實(shí)用性。與此同時(shí),在軟件開發(fā)過程中運(yùn)用架構(gòu)分層設(shè)計(jì),能夠有效提高軟件項(xiàng)目開發(fā)效率,確保軟件質(zhì)量,提高軟件競(jìng)爭(zhēng)力,為人們提供更加優(yōu)質(zhì)的服務(wù)。

猜你喜歡
嵌入式軟件嵌入式架構(gòu)
基于FPGA的RNN硬件加速架構(gòu)
功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實(shí)踐
實(shí)時(shí)嵌入式軟件的測(cè)試技術(shù)
搭建基于Qt的嵌入式開發(fā)平臺(tái)
全景相機(jī)遙控器嵌入式軟件V1.0 相關(guān)操作分析
LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設(shè)計(jì)與實(shí)現(xiàn)
航天嵌入式軟件浮點(diǎn)運(yùn)算誤差分析與控制
一種基于FPGA+ARM架構(gòu)的μPMU實(shí)現(xiàn)
锦屏县| 吴堡县| 怀安县| 灌云县| 通城县| 巴彦县| 包头市| 太原市| 江津市| 个旧市| 白朗县| 石林| 鄂州市| 札达县| 绥阳县| 襄城县| 繁昌县| 朝阳市| 瓦房店市| 定州市| 洱源县| 苍山县| 大同县| 绵阳市| 哈尔滨市| 务川| 灵山县| 长春市| 万盛区| 内丘县| 青阳县| 黔江区| 横山县| 鄂尔多斯市| 崇州市| 华宁县| 中西区| 昭苏县| 台前县| 五河县| 宜兰市|