国产粉嫩无码不卡在线观看,酒店大战丝袜高跟鞋人妻,特级精品毛片免费观看,欧美亚洲日本国产综合在线

嵌入式開發(fā):你需要知道的5種簡單嵌入式軟件分類(嵌入式軟件分為哪幾類)

  傳達嵌入式軟件體系結(jié)構(gòu)設計意圖通常伴隨著基于嵌入式開發(fā)人員經(jīng)驗的假設。你可以從資源受限的基于微控制器的系統(tǒng)的角度來看架構(gòu)設計。如何設計架構(gòu)將取決于系統(tǒng)的嵌入式軟件分類。有許多不同的方法可以對嵌入式軟件進行分類。我發(fā)現(xiàn)有五種簡單的嵌入式軟件分類可以幫助我調(diào)整視角,以更好地理解手頭的系統(tǒng)。

  讓我們探索5種簡單的嵌入式軟件分類,你需要了解這些分類才能成功地進行通信和設計你的系統(tǒng)。

  分類1 — 裸機

  裸金屬嵌入式系統(tǒng)利用不依賴于操作系統(tǒng)的軟件架構(gòu)。通常,裸金屬架構(gòu)將是事件驅(qū)動的,嚴重依賴狀態(tài)機,和/或使用非常簡單的協(xié)作任務調(diào)度。開發(fā)人員需要非常了解底層處理器,因為沒有操作系統(tǒng)可以抽象出底層細節(jié)。

  你通常會在資源受限的設備上找到裸機軟件設計,例如8位、16位和一些32位微控制器。但是,資源可用性并不是裸機系統(tǒng)的限制因素。你可以設計一個裸機架構(gòu),并在任何嵌入式處理器上實現(xiàn)。但是,處理器越復雜,實現(xiàn)就越復雜。

  對于功能有限、使用資源受限的微控制器、具有嚴格的實時要求且對可擴展性的需求最低的產(chǎn)品,建議嵌入式開發(fā)人員使用裸機架構(gòu)和實現(xiàn)。

  分類2 — 實時操作系統(tǒng)(RTOS)

  在過去幾年中,利用實時操作系統(tǒng)的嵌入式軟件架構(gòu)顯著增加?;赗TOS的嵌入式系統(tǒng)通常具有比裸機架構(gòu)所能管理的更復雜的時序要求。RTOS抽象了一些低級細節(jié),如任務調(diào)度,同時也為開發(fā)人員提供了任務同步(信號量和標志)、數(shù)據(jù)保護(互斥鎖)和通信(隊列)的工具。

  你通??梢栽?2位微控制器和小型應用處理器上找到RTOS軟件設計。雖然你可以在16位處理器上找到它們,但RTOS通常需要至少24 KB的閃存和32 KB的RAM才能有效使用。這些要求對RTOS的有效使用設置了較低的限制。

  RTOS會增加設計的復雜性,主要是在使用搶占式任務調(diào)度時。如果設計者不小心,就有可能導致線程饑餓、優(yōu)先級反轉(zhuǎn)甚至死鎖。然而,與裸機系統(tǒng)相比,RTOS可以為嵌入式開發(fā)人員提供快速擴展系統(tǒng)、提高可維護性和收集更復雜的系統(tǒng)性能的能力。

  對于具有復雜時序要求、使用現(xiàn)代微控制器、受益于多任務處理以及需要擴展或重用應用程序的產(chǎn)品,建議使用基于RTOS的體系結(jié)構(gòu)和實現(xiàn)。

  

嵌入式開發(fā):你需要知道的5種簡單嵌入式軟件分類(嵌入式軟件分為哪幾類)

  分類3 — “完整”操作系統(tǒng)

  當使用足夠復雜的處理器(如應用程序處理器)時,嵌入式軟件體系結(jié)構(gòu)可以利用整個操作系統(tǒng)。例如,嵌入式Linux可以被認為是一個完整的操作系統(tǒng)。我沒有將RTOS包括在這一類別中,因為RTOS是一種專用的、資源受限的操作系統(tǒng),與嵌入式Linux不同。設計師可以完全訪問庫和操作系統(tǒng)資源,這是他們在開發(fā)桌面或移動應用程序時所需要的。

  你通常會在32位應用程序處理器(如Raspberry Pi)上找到操作系統(tǒng)軟件設計。然而,這些處理器非常復雜,需要一個操作系統(tǒng)來管理它們的所有資源?,F(xiàn)在,這并不意味著你不能裸奔或使用RTOS;這僅僅意味著復雜性和開發(fā)時間大大增加。

  完整的操作系統(tǒng)可以減輕嵌入式開發(fā)人員的內(nèi)存限制負擔。此外,你通常可以讓非嵌入式軟件人員參與進來。對于構(gòu)建在操作系統(tǒng)上的應用程序,軟件專業(yè)化要少得多。

  對于沒有嚴格實時要求、使用現(xiàn)代微處理器、受益于高抽象級別、需要擴展或重用應用程序片段的產(chǎn)品,建議使用完整的操作系統(tǒng)架構(gòu)和實現(xiàn)。

  分類4 — 容器/微服務

  微服務和容器是云、移動和桌面計算中常見的設計類型。然而,他們正在迅速找到進入嵌入式系統(tǒng)的途徑。我把這兩個放在一起,因為我們使用的架構(gòu)設計策略是相似的,盡管底層技術不同。

  微服務公司

  微服務將應用程序構(gòu)造為松散耦合的服務的集合,可以獨立部署并且易于維護(如果做得好)。微服務將應用程序構(gòu)建為為業(yè)務領域開發(fā)的小型自治服務的集合。微服務提供了一個松散耦合的服務,并考慮了特定的特性。

  在嵌入式開發(fā)中,相對資源受限的嵌入式系統(tǒng)(如微控制器)可以運行微服務。然而,它們通常需要至少相同數(shù)量的內(nèi)存來運行RTOS。微服務包括服務本身、入站和出站消息隊列以及日志和狀態(tài)信息。

  微服務可以通過需要協(xié)調(diào)器和運行時環(huán)境來增加設計的復雜性。這絕不是破壞交易,但你必須小心使用資源,并仔細監(jiān)控系統(tǒng)的實時響應。然而,微服務可以提供非??蓴U展的系統(tǒng),易于現(xiàn)場維護和更新。

  我建議在需要現(xiàn)場更新、可擴展性和現(xiàn)代敏捷流程并受益于分布式模型的應用程序中使用微服務。

  

嵌入式開發(fā):你需要知道的5種簡單嵌入式軟件分類(嵌入式軟件分為哪幾類)

  容器

  容器是一種可以托管微服務的實現(xiàn)范式。每個容器都是一個獨立的沙盒,可以運行一個或多個微服務。容器通??瑟毩⒉渴穑子诰S護。一系列容器為更廣泛的應用奠定了基礎。同樣,容器和微服務是密切相關的;容器為要運行的微服務提供了額外的隔離和分離層。

  至少需要一個現(xiàn)代微控制器來利用容器。每個技術供應商都略有不同,但有些嵌入式開發(fā)人員聲稱能夠使用與RTOS一樣少的內(nèi)存。然而,我調(diào)查過的大多數(shù)目標物聯(lián)網(wǎng)應用程序預計閃存大約為256 KB。

  容器是一種現(xiàn)代體系結(jié)構(gòu)實現(xiàn),可以為嵌入式應用程序增加靈活性、可擴展性和可移植性。它們已成功地應用于其他軟件領域數(shù)年。迄今為止,最大的限制是規(guī)模和性能。

  我建議在需要現(xiàn)場更新、可擴展性、額外安全性和現(xiàn)代敏捷流程的應用程序中使用容器。

  分類5 — 混合

  混合系統(tǒng)同時利用多種分類。例如,你可能有一個使用嵌入式Linux的應用程序處理器。然而,該處理器可能具有內(nèi)置微控制器,該微控制器使用裸機方法來管理實時響應。

  混合系統(tǒng)允許開發(fā)人員利用多種設計方法從多種系統(tǒng)類型中獲益。不幸的是,如果嵌入式開發(fā)團隊不仔細管理其設計的各個部分之間的交互,這種靈活性往往會增加系統(tǒng)復雜性。

  對于具有復雜處理和實時需求的產(chǎn)品,建議使用混合體系結(jié)構(gòu)和實現(xiàn),這些產(chǎn)品使用多核處理器,受益于高級別的抽象,并且需要擴展或重用應用程序。

  結(jié)論

  嵌入式軟件系統(tǒng)可分為多種類型。如何設計和構(gòu)建嵌入式軟件將取決于你選擇的分類。每個分類都將規(guī)定用于構(gòu)建和實現(xiàn)系統(tǒng)的設計模式和工具。在嵌入式開發(fā)人員設計或討論系統(tǒng)時,請先指定系統(tǒng)類型,然后再繼續(xù),會發(fā)現(xiàn)這個簡單的練習會幫助你找到正確的方向。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。