国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

嵌入式軟件架構(gòu)

這篇具有很好參考價值的文章主要介紹了嵌入式軟件架構(gòu)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。



總目錄鏈接==>> AutoSAR入門和實戰(zhàn)系列總目錄

總目錄鏈接==>> AutoSAR BSW高階配置系列總目錄


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

我們可以通過多種不同的方式對嵌入式軟件進(jìn)行分類。我發(fā)現(xiàn)有五種簡單的嵌入式軟件分類可以幫助我調(diào)整視角以最好地理解手頭的系統(tǒng)。

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

1 嵌入式軟件分類 – BAREMETAL

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

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

對于功能有限、使用資源受限的微控制器、具有嚴(yán)格的實時要求以及對可擴(kuò)展性的最低要求的產(chǎn)品,建議使用裸機(jī)架構(gòu)和實現(xiàn)。

2 嵌入式軟件分類 – 實時操作系統(tǒng) (RTOS)

使用實時操作系統(tǒng)的嵌入式軟件體系結(jié)構(gòu)在過去幾年中急劇增加?;?RTOS 的嵌入式系統(tǒng)通常具有比裸機(jī)架構(gòu)更復(fù)雜的時序要求。RTOS 抽象出一些低級細(xì)節(jié),例如任務(wù)調(diào)度,同時還為開發(fā)人員提供任務(wù)同步(信號量和標(biāo)志)、數(shù)據(jù)保護(hù)(互斥量)和通信(隊列)的工具。

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

RTOS 會給設(shè)計增加額外的復(fù)雜性,主要是在使用搶占式任務(wù)調(diào)度時。如果設(shè)計者不小心,就有可能導(dǎo)致線程饑餓、創(chuàng)建優(yōu)先級倒置甚至死鎖。但是,RTOS 可以為您提供快速擴(kuò)展系統(tǒng)、提高可維護(hù)性以及收集比裸機(jī)系統(tǒng)更復(fù)雜的系統(tǒng)性能的能力。

對于具有復(fù)雜時序要求、使用現(xiàn)代微控制器、受益于多任務(wù)處理以及需要擴(kuò)展或重用應(yīng)用程序部分的產(chǎn)品,建議使用基于 RTOS 的架構(gòu)和實現(xiàn)。

3 嵌入式軟件分類 – “通用”操作系統(tǒng)

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

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

完整的操作系統(tǒng)可以消除開發(fā)人員的內(nèi)存限制負(fù)擔(dān)。此外,您通??梢宰尫乔度胧杰浖藛T參與進(jìn)來。對于基于操作系統(tǒng)構(gòu)建的應(yīng)用程序,軟件開發(fā)涉及的專業(yè)化知識要少得多。

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

4 嵌入式軟件分類 – 容器/微服務(wù)

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

微服務(wù)

微服務(wù)將應(yīng)用程序構(gòu)建為一組松散耦合的服務(wù),可獨立部署且易于維護(hù)(如果做得好)。微服務(wù)將應(yīng)用程序構(gòu)建為為業(yè)務(wù)領(lǐng)域開發(fā)的小型自治服務(wù)的集合。微服務(wù)提供具有特定功能的松散耦合服務(wù)。

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

需要編排器和運行時環(huán)境會增加微服務(wù)設(shè)計的復(fù)雜性,必須謹(jǐn)慎使用您使用的資源并仔細(xì)監(jiān)控系統(tǒng)的實時響應(yīng)。然而,微服務(wù)可以提供非??蓴U(kuò)展的系統(tǒng),易于現(xiàn)場維護(hù)和更新。

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

容器

容器是一種可以承載微服務(wù)的實現(xiàn)范式。每個容器都是一個獨立的沙箱,可以運行一個或多個微服務(wù)。容器通??瑟毩⒉渴鹎乙子诰S護(hù)。一系列容器為更廣泛的應(yīng)用奠定了基礎(chǔ)。同樣,容器和微服務(wù)密切相關(guān);容器為微服務(wù)運行提供了額外的隔離層。

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

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

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

嵌入式軟件架構(gòu)

圖 1 – 容器架構(gòu)堆

5 嵌入式軟件分類 – 混合系統(tǒng)

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

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

對于具有復(fù)雜處理和實時要求的產(chǎn)品,建議使用混合架構(gòu)和實現(xiàn),這些產(chǎn)品使用多核處理器,受益于高級抽象并需要擴(kuò)展或重用應(yīng)用程序部分。

6 結(jié)論

嵌入式軟件系統(tǒng)可以分為多種類型。如何設(shè)計和構(gòu)建嵌入式軟件將取決于您選擇的分類。每個分類都將規(guī)定您用來構(gòu)建和實施系統(tǒng)的設(shè)計模式和工具。當(dāng)設(shè)計或討論系統(tǒng)時,請先指定系統(tǒng)類型,然后再繼續(xù)進(jìn)行設(shè)計。文章來源地址http://www.zghlxwxcb.cn/news/detail-409747.html

到了這里,關(guān)于嵌入式軟件架構(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • AUTOSAR從入門到精通-【應(yīng)用篇】基于嵌入式實時Linux及AUTOSAR的跨平臺技術(shù)研究與實現(xiàn)(續(xù))

    目錄 ?RTAR_PLAT平臺及跨平臺應(yīng)用的實現(xiàn) 4.1應(yīng)用接口層的實現(xiàn) 4.2系統(tǒng)匹配層和系統(tǒng)庫層實現(xiàn)

    2024年02月10日
    瀏覽(15)
  • CSS的三種鏈接方式(內(nèi)聯(lián)式、嵌入式、外部式)

    CSS的三種鏈接方式(內(nèi)聯(lián)式、嵌入式、外部式)

    其實就是用html中style屬性 嵌入式css樣式,就是可以把css樣式代碼寫在style type=“text/css”/style標(biāo)簽之間。 (樣式一多,內(nèi)聯(lián)式就很繁雜,不易于閱讀和維護(hù),這沒法發(fā)揮CSS的優(yōu)勢了) 外部式css樣式(也可稱為外聯(lián)式)就是把css代碼寫一個單獨的外部文件中,這個css樣式文件以“

    2024年02月06日
    瀏覽(21)
  • 【ARM 嵌入式 編譯系列 3.5 -- gcc 鏈接參數(shù)介紹】

    請閱讀 【嵌入式開發(fā)學(xué)習(xí)必備專欄 之 ARM GCC 編譯專欄】 上篇文章【ARM 嵌入式 編譯系列 3.4 – 查看所依賴庫文件的路徑 詳細(xì)介紹】一直在提 鏈接參數(shù) ,那么鏈接參數(shù)有哪些,它們又有什么作用呢? 如前一篇文章中的的鏈接參數(shù)到底是什么意思呢? -L : 指定了 鏈接庫的路徑

    2024年01月17日
    瀏覽(44)
  • 架構(gòu)-嵌入式模塊

    架構(gòu)-嵌入式模塊

    約三分,主要為選擇題 馮諾依曼體系結(jié)構(gòu) 程序和數(shù)據(jù)共用一個存儲空間 ,程序指令和數(shù)據(jù)存放在同一存儲器的不同地址上。 單一的地址及數(shù)據(jù)總線 ,程序指令和數(shù)據(jù)的總線寬度相同。 串行執(zhí)行,在傳輸上會出現(xiàn)瓶頸 。 哈弗體系結(jié)構(gòu) 程序和數(shù)據(jù)采用不同的存儲空間 ,程序

    2024年02月10日
    瀏覽(22)
  • 嵌入式軟件調(diào)試與驗證4自動重現(xiàn)和分析嵌入式軟件中的Bug

    嵌入式軟件調(diào)試與驗證4自動重現(xiàn)和分析嵌入式軟件中的Bug

    嵌入式軟件的重要性逐年增加。ISO26262標(biāo)準(zhǔn)的最高安全級別要求十個9小時內(nèi)無故障運行。然而,歷史上的一些項目表明,即使進(jìn)行了全面的測試,多年來仍有許多錯誤未被發(fā)現(xiàn)。航天飛機(jī)的控制計算機(jī)僅有50萬行源代碼,卻經(jīng)過了長達(dá)8年的測試,每行源代碼耗資1000美元,即總

    2024年02月08日
    瀏覽(19)
  • 馮·諾依曼架構(gòu)&哈佛架構(gòu)(嵌入式學(xué)習(xí))

    馮·諾依曼架構(gòu)&哈佛架構(gòu)(嵌入式學(xué)習(xí))

    馮·諾依曼架構(gòu)(von Neumann architecture)和哈佛架構(gòu)(Harvard architecture)是計算機(jī)系統(tǒng)中兩種常見的指令和數(shù)據(jù)存儲方式。 馮·諾依曼架構(gòu)是一種經(jīng)典的計算機(jī)體系結(jié)構(gòu),由馮·諾依曼于1945年提出。它將指令和數(shù)據(jù)存儲在同一個存儲器中,并使用同一套總線進(jìn)行數(shù)據(jù)傳輸。在馮

    2024年02月13日
    瀏覽(20)
  • 【ARM 嵌入式 編譯系列 4.2 -- GCC 鏈接規(guī)范 extern “C“ 介紹】

    請閱讀 【ARM GCC 編譯專欄導(dǎo)讀】 上篇文章:ARM 嵌入式 編譯系列 4.1 – GCC 編譯屬性 likely與unlikely 學(xué)習(xí) 下篇文章:ARM 嵌入式 編譯系列 5 – GCC 內(nèi)建函數(shù) __builtin 介紹 extern “C” 是一種鏈接規(guī)范,它用于告訴C++編譯器按照C語言的方式來鏈接代碼。這個主要用于在C++代碼

    2024年02月13日
    瀏覽(54)
  • 嵌入式IDE(1):IAR中ICF鏈接文件詳解和實例分析

    最近在使用NXP提供的MCUXPresso IDE,除了Eclipse固有的優(yōu)點外,我覺得它最大的優(yōu)點就是在鏈接腳本的生成上,提供了非常直觀的GUI配置界面,而且生成的鏈接腳本也是GCC規(guī)范的連接腳本。但這個IDE僅僅支持NXP相關(guān)的產(chǎn)品,而且調(diào)試的性能在某些情況下并不理想。而我們用得比較

    2024年02月10日
    瀏覽(94)
  • 單片機(jī)(嵌入式)程序分層架構(gòu)

    單片機(jī)(嵌入式)程序分層架構(gòu)

    目錄 前言 嵌入式3層軟件架構(gòu) 嵌入式4層軟件架構(gòu)-1 驅(qū)動層 操作系統(tǒng)層 中間件層 應(yīng)用層 嵌入式4層軟件架構(gòu)-2 硬件層 嵌入式微處理芯片 嵌入式存儲器系統(tǒng) 嵌入式I/O接口 中間層 系統(tǒng)軟件層 RTOS 文件系統(tǒng) GUI 應(yīng)用層 嵌入式5層軟件架構(gòu)1 嵌入式5層軟件架構(gòu)2 嵌入式6層軟件架構(gòu)

    2023年04月19日
    瀏覽(38)
  • 嵌入式系統(tǒng)——ARM架構(gòu)及分類

    嵌入式系統(tǒng)——ARM架構(gòu)及分類

    ??“架構(gòu)”(Architecture)指的是功能規(guī)范,ARM架構(gòu)即是ARM處理器的功能規(guī)范,包括以下主要內(nèi)容: 指令集:每條指令的功能,指令在存儲器中的表示方法(編碼); 寄存器集:寄存器的數(shù)量、大小、功能,以及寄存器的初始狀態(tài); 異常模型:不同特權(quán)級、異常類型,以及采

    2024年02月02日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包