衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式軟件分類介紹

jf_EksNQtU6 ? 來源:車端 ? 2023-04-06 11:39 ? 次閱讀

嵌入式軟件架構設計意圖通常伴隨著基于個人經驗的假設。軟件開發人員可能會從資源受限的基于微控制器的系統的角度來看待架構設計。系統人員可能會從應用處理器的角度考慮架構。如何設計架構將取決于系統的嵌入式軟件分類。

我們可以通過多種不同的方式對嵌入式軟件進行分類。我發現有五種簡單的嵌入式軟件分類可以幫助我調整視角以最好地理解手頭的系統。

讓我們探索 5 個簡單的嵌入式軟件分類,您需要了解這些分類才能成功地交流和設計您的系統。

01.嵌入式軟件分類 – BAREMETAL

裸機嵌入式系統利用不依賴于操作系統的軟件架構。通常,裸機架構將是事件驅動的,嚴重依賴狀態機,和/或使用非常簡單的協作任務調度。開發人員需要非常了解底層處理器,因為沒有操作系統可以抽象出底層細節。

您通常會在資源受限的設備(例如 8 位、16 位和一些 32 位微控制器)上找到裸機軟件設計。但是,資源可用性不是裸機系統的限制條件。您可以設計一個裸機架構并為任何嵌入式處理器實現它。不幸的是,處理器越復雜,實現就越復雜。

對于功能有限、使用資源受限的微控制器、具有嚴格的實時要求以及對可擴展性的最低要求的產品,建議使用裸機架構和實現。

02.嵌入式軟件分類 – 實時操作系統 (RTOS)

使用實時操作系統的嵌入式軟件體系結構在過去幾年中急劇增加。基于 RTOS 的嵌入式系統通常具有比裸機架構更復雜的時序要求。RTOS 抽象出一些低級細節,例如任務調度,同時還為開發人員提供任務同步(信號量和標志)、數據保護(互斥量)和通信(隊列)的工具。

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

RTOS 會給設計增加額外的復雜性,主要是在使用搶占式任務調度時。如果設計者不小心,就有可能導致線程饑餓、創建優先級倒置甚至死鎖。但是,RTOS 可以為您提供快速擴展系統、提高可維護性以及收集比裸機系統更復雜的系統性能的能力。

對于具有復雜時序要求、使用現代微控制器、受益于多任務處理以及需要擴展或重用應用程序部分的產品,建議使用基于 RTOS 的架構和實現。

03.嵌入式軟件分類 – “通用”操作系統

當使用足夠復雜的處理器(如應用程序處理器)時,嵌入式軟件架構可以利用整個操作系統。例如,嵌入式 Linux 可以被認為是一個完整的操作系統。我不將 RTOS 歸入此類別,因為 RTOS 與嵌入式 Linux 不同,它是一種專用的、資源受限的操作系統,。設計人員可以像開發桌面或移動應用程序那樣完全訪問庫和操作系統資源。

您通常會在 Raspberry Pi 等 32 位應用程序處理器上找到這種操作系統軟件設計。然而,這些處理器非常復雜,需要一個操作系統來管理它們的所有資源。現在,這并不意味著您不能使用裸機或使用 RTOS;它只是意味著復雜性和開發時間急劇增加。

完整的操作系統可以消除開發人員的內存限制負擔。此外,您通常可以讓非嵌入式軟件人員參與進來。對于基于操作系統構建的應用程序,軟件開發涉及的專業化知識要少得多。

對于沒有嚴格實時要求、使用現代微處理器、受益于高級抽象以及需要擴展或重用應用程序部分的產品,建議使用完整的操作系統架構和實現。

04.嵌入式軟件分類 – 容器/微服務

微服務和容器是云、移動和桌面計算中常見的設計類型。然而,他們正在迅速找到進入嵌入式系統的途徑。我將這兩者混為一談,因為它們使用的架構設計策略相似,盡管底層技術不同。

微服務

微服務將應用程序構建為一組松散耦合的服務,可獨立部署且易于維護(如果做得好)。微服務將應用程序構建為為業務領域開發的小型自治服務的集合。微服務提供具有特定功能的松散耦合服務。

資源相對受限的嵌入式系統(例如微控制器)可以運行微服務。但是,它們通常至少需要與運行 RTOS 所需的內存量相同的內存量。微服務包括服務本身、入站和出站消息隊列以及日志和狀態信息

需要編排器和運行時環境會增加微服務設計的復雜性,必須謹慎使用您使用的資源并仔細監控系統的實時響應。然而,微服務可以提供非常可擴展的系統,易于現場維護和更新。

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

容器

容器是一種可以承載微服務的實現范式。每個容器都是一個獨立的沙箱,可以運行一個或多個微服務。容器通常可獨立部署且易于維護。一系列容器為更廣泛的應用奠定了基礎。同樣,容器和微服務密切相關;容器為微服務運行提供了額外的隔離層。

至少需要一個現代微控制器來利用容器。每個技術供應商都略有不同,但有些供應商聲稱能夠使用與 RTOS 一樣少的內存。然而,我調查過的大多數目標物聯網應用程序預計大約有 256 KB 的閃存。

容器是一種現代架構實現,可以為嵌入式應用程序增加靈活性、可擴展性和可移植性。多年來,它們已成功用于軟件的其他領域。迄今為止最大的限制是尺寸和性能。

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

8e1831bc-d074-11ed-bfe3-dac502259ad0.png

圖 1 – 容器架構堆

05.嵌入式軟件分類 – 混合系統

混合系統同時利用多個分類。例如,您可能有一個使用嵌入式 Linux 的應用程序處理器。但是,該處理器可能有一個內置的微控制器,它使用裸機方法來管理實時響應。

混合系統允許開發人員利用多種設計方法從多種系統類型中獲益。如果不仔細管理其設計的各個部分之間的交互,這種靈活性通常會增加系統的復雜性。

對于具有復雜處理和實時要求的產品,建議使用混合架構和實現,這些產品使用多核處理器,受益于高級抽象并需要擴展或重用應用程序部分。

06.結論

嵌入式軟件系統可以分為多種類型。如何設計和構建嵌入式軟件將取決于您選擇的分類。每個分類都將規定您用來構建和實施系統的設計模式和工具。當設計或討論系統時,請先指定系統類型,然后再繼續進行設計。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7651

    瀏覽量

    152118
  • 處理器
    +關注

    關注

    68

    文章

    19409

    瀏覽量

    231190
  • 嵌入式
    +關注

    關注

    5092

    文章

    19178

    瀏覽量

    307698
  • 軟件
    +關注

    關注

    69

    文章

    5013

    瀏覽量

    88081
  • RTOS
    +關注

    關注

    22

    文章

    819

    瀏覽量

    119889

原文標題:結論

文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式系統的特點、分類、發展與應用

    一. 嵌入式系統的特點、分類、發展與應用1.嵌入式系統定義1)廣義上:帶有微處理器的專用軟件系統。2)狹義上:使用嵌入式微處理器構成的具有自
    發表于 12-22 06:10

    嵌入式系統的特點、分類、發展和應用

    與視頻4. 嵌入式系統與網絡通信嵌入式系統基礎1. 嵌入式系統的特點、分類、發展和應用特點專用性隱藏性資源受限高可靠性實時性軟件固化
    發表于 12-22 06:36

    嵌入式系統特點與組成及其分類介紹

    、DVD播放器等;(2)數控機床、飛機、汽車、電梯、X光機、血壓計等;(3)電話機、傳真機、打印機、pos機、GPS導航儀、路由器等。1.1.2嵌入式系統組成與分類(1)邏輯組成:硬件和軟件,分為處理器、存儲器、I|0設備與I|
    發表于 12-23 07:52

    嵌入式系統設計全面介紹

    嵌入式系統設計來源于電科大陳虹老師的課程總結課程體系:理論與實踐相結合以嵌入式硬件的核心嵌入式微處理器及嵌入式軟件的核心
    發表于 01-25 07:05

    嵌入式工作有哪些分類

    嵌入式技術廣泛應用的今天,已經有越來越多的人選擇了嵌入式,那么,嵌入式工作有哪些分類嵌入式產品開發是基于產品的功能,從功能需求、提出并選
    發表于 07-14 16:07

    嵌入式Linux的分類

    嵌入式Linux的分類 第一類是在利用Linux強大功能的前提下,使它盡可能的小,以滿足許多嵌入式系統對體積的要求,如uC
    發表于 03-28 10:29 ?847次閱讀

    什么是嵌入式軟件開發

    嵌入式軟件開發又是指什么?   隨著嵌入式軟件系統結構越來越復雜,嵌入式軟件的開發已成
    發表于 04-20 08:43 ?8801次閱讀

    嵌入式系統的特點及分類

    嵌入式系統的特點及分類 1. 嵌入式系統的特點(1) 系統內核小由于嵌入式系統一般是應用于小型電子裝置,系統資源相對有
    發表于 06-17 00:27 ?2.1w次閱讀

    嵌入式系統的定義與分類及其應用介紹

    1.什么是嵌入式系統(嵌入式系統是計算機軟件與計算機硬件集成在一起,并嵌入到應用對象內部的計算機系統) 嵌入式系統是以應用為中心,以計算機技
    發表于 10-17 16:45 ?6次下載

    嵌入式軟件開發編程規范介紹

    對于嵌入式系統來講,嵌入式軟件相當于嵌入式系統的靈魂,整個嵌入式系統如何工作,都是由嵌入式
    的頭像 發表于 01-01 09:28 ?4425次閱讀

    嵌入式軟件是什么意思_嵌入式軟件分類有哪些

    本文首先闡述了嵌入式軟件的概念,其次介紹嵌入式軟件的特征,最后介紹
    發表于 08-31 15:54 ?1.6w次閱讀

    嵌入式軟件的開發流程_嵌入式軟件的調試

    本文首先介紹嵌入式軟件的發展,其次闡述了嵌入式軟件的開發流程,最后介紹
    發表于 08-31 16:02 ?6354次閱讀

    淺析嵌入式系統中的特點與分類

    嵌入式系統作為主流系統之一,在各大行業中都有其身影。為增進大家對嵌入式系統的認識,本文將對嵌入式系統的分類嵌入式系統的特點予以
    的頭像 發表于 05-02 23:11 ?2147次閱讀

    嵌入式軟件測試參考書籍

    嵌入式軟件測試的幾本參考書籍:1、《嵌入式軟件測試》;2、《嵌入式軟件測試 方法、案例與模板詳解
    發表于 10-20 12:06 ?51次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>測試參考書籍

    嵌入式軟件配置的分類

    嵌入式軟件配置的分類嵌入式編碼中,有三種配置的方式Pre-compile timeLink timePost-build后記在嵌入式編碼中
    發表于 10-20 20:36 ?8次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>配置的<b class='flag-5'>分類</b>
    百家乐官网破解的办法| 百家乐官网注册开户送现金 | 永利高百家乐官网开户| 百家乐官网赢退输进有哪些| 夜总会百家乐官网的玩法技巧和规则| 百家乐官网赌台| 百家乐英皇娱乐场| 百家乐娱乐平台官网网| 78棋牌游戏| 老江死了| 大发888微信公众号2| 月亮城百家乐的玩法技巧和规则 | 娱乐城注册送金| 百家乐官网包赢| 单机百家乐官网的玩法技巧和规则| 新濠百家乐官网娱乐场| 百家乐波音独家注册送彩| 民丰县| 百家乐官网百家乐官网视频游戏世界 | 海王星百家乐的玩法技巧和规则 | 百家乐投注很不错| bet365高尔夫娱乐场| 百家乐官网下注口诀| 百家乐赢利策略| 88娱乐城1| 多伦多百家乐官网的玩法技巧和规则| 赌百家乐大小点桌| 棋牌游戏中心| 温州百家乐官网的玩法技巧和规则| 十三张百家乐的玩法技巧和规则| 真人百家乐官网信誉| 一筒百家乐官网的玩法技巧和规则| 百家乐全部规则| 百家乐官网筹码防伪定制| 百家乐与21点| 足球赌博网站| 百家乐官网赢家公式| 百家乐庄闲必胜手段| 大发888娱乐新澳博| 百家乐官网事电影| 百家乐网络娱乐场开户注册|