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

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

3天內不再提示

不能獨立開發,是因為你不懂軟件架構

朱老師物聯網大講堂 ? 2024-03-15 08:09 ? 次閱讀

嵌入式軟件架構設計一般采用分層思想,稱為“分層架構”。

part1

一、什么是分層架構?

分層架構(Layered Architecture)是一種將系統分為互相隔離的層,每一層完成特定功能的設計方式。這種架構有助于提高代碼的可管理性和可維護性。在嵌入式系統中,分層架構常常如下劃分:

物理硬件層:這是系統最底層,包括微處理器、存儲設備、傳感器、執行器等具體的物理硬件。

硬件抽象層(HAL):提供一個與硬件通信的統一API,使上層軟件不用關心硬件的具體實現細節。HAL定義了一組標準的函數或指令集,用于訪問接口硬件。

低級驅動層:包括直接與硬件組件如GPIO、ADC、UART等進行通信的驅動程序。這些驅動封裝了對硬件的訪問,供高級應用使用。

操作系統層:如果嵌入式系統采用了操作系統(如Linux、RTOS等),則該層負責管理硬件資源、任務調度、內存管理、設備管理等。

中間件層:提供一種抽象層,協助開發者處理如通信協議、數據格式轉換、設備配置、系統服務等復雜的功能。

應用層:該層包含用于執行特定任務的應用程序。它使用下層提供的服務,并通過用戶接口與用戶互動。

part2

二、分層架構有哪些實例?

01

51e3a420-e260-11ee-9118-92fbcf53809c.png

RT-Thread

51ecff16-e260-11ee-9118-92fbcf53809c.png

51f260a0-e260-11ee-9118-92fbcf53809c.png

02

51e3a420-e260-11ee-9118-92fbcf53809c.png

華為LiteOS

51ecff16-e260-11ee-9118-92fbcf53809c.png

520f6bf0-e260-11ee-9118-92fbcf53809c.png

03

51e3a420-e260-11ee-9118-92fbcf53809c.png

基于STM32G474雙向DCDC數字電源項目

51ecff16-e260-11ee-9118-92fbcf53809c.png

523acc28-e260-11ee-9118-92fbcf53809c.png

- 點擊查看-

【基于STM32G474的DCDC數字電源】項目詳情介紹

part3

三、為什么要使用分層架構?

使用分層架構主要是因為它提供了如下幾個重要的優勢:

抽象性和解耦:分層架構通過在硬件和應用代碼之間提供抽象層,允許應用程序開發者編寫與特定硬件實現無關的代碼。這降低了各組件之間的耦合度,方便了軟件維護和升級。

可維護性和可測試性:分層架構提高了代碼的可維護性,因為每層都可以獨立地開發和測試,問題定位也更為直接。

模塊化和重用性:嵌入式系統往往需要在不同產品或項目間重復使用某些模塊。分層架構設計的系統可以更容易地重用某層代碼,減少開發工作量和成本。

跨平臺移植性:當嵌入式系統需要移植到新的硬件平臺時,分層架構使得只需要改動硬件抽象層和設備驅動層,而應用層和中間件層可以不作或少作修改。

更好的協作:分層架構使得工作可以在項目團隊成員間更高效地分工。例如,一些成員可以專注于底層驅動,而其他人可以專注于業務邏輯和用戶界面。

安全性和隔離:通過在不同層之間設立防火墻,可以抵御系統級別的故障擴散。若一層出現問題,不會直接影響到其他層,這在安全關鍵的嵌入式系統中尤其重要。

簡化復雜性:嵌入式系統往往需要處理許多低級硬件操作,將這些細節隱藏在底層可以簡化上層的邏輯,使得開發更為簡單。

規范開發流程:分層架構通過對功能和責任的清晰劃分,幫助制定標準化的開發流程,這使得項目更容易管理和跟蹤。

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

    關注

    5002

    文章

    18414

    瀏覽量

    291574
  • 華為
    +關注

    關注

    215

    文章

    33839

    瀏覽量

    247646
  • 軟件架構
    +關注

    關注

    0

    文章

    61

    瀏覽量

    10232
收藏 人收藏

    評論

    相關推薦

    為什么不會接開關呢?是因為不懂這些

    電工技術
    學習電子知識
    發布于 :2022年10月13日 20:58:36

    工作之所以成為工作,是因為只需要工作而不需要...

    有這么一句名言: 工作,它之所以成為工作,是因為只需要工作而不需要思考。   也許會對這句話有異議,但是大部分人和大部分工作確實是這樣的。工廠員工在流水線上機械地組裝,服務員每天重復著招待
    發表于 11-19 16:47

    AD仿真,這個錯誤是因為什么?

    這個錯誤是因為什么?
    發表于 11-03 21:53

    代碼閱讀能力不行,是因為沒看到此文!

    提高代碼閱讀技巧的方法,以下是譯文。在軟件開發人員的職位描述中有閱讀源代碼。然而,這體驗并不總能令人愉悅。不是每個人都喜歡閱讀別人的代碼,因為他們覺得那很乏味,甚至有時令人感到沮喪。有些案例中,開始
    發表于 10-21 11:18

    為什么要開發模塊化的軟件架構?

    。新一代的測試架構應當容納多種產品的測試需求并促進新型測試技術的添加,從而在未來實現其他的測試融合。開發強健開放的測試軟件架構,對于設計模塊化的測試
    發表于 08-12 08:06

    不懂編程的人可以用哪些代碼開發平臺

    直接參與開發,甚至是獨立開發,那么無代碼開發平臺是唯一的選擇。對于不懂編程技術的業務人員,哪怕是一句代碼,都會被難倒。讓業務人員可以自行搭建
    發表于 04-29 14:37

    嵌入式軟件開發中的程序架構

    在嵌入式軟件開發,包括單片機開發中,軟件架構對于開發人員是一個必須認真考慮的問題。軟件
    發表于 02-02 06:58

    軟件架構存在的意義

    有經驗的工程師和一個初學者的分水嶺。軟件架構對于開發人員是友好的,希望先執行什么任務后執行什么任務,
    發表于 10-27 09:34

    stlink無法識別是因為什么?

    stlink無法識別是因為什么
    發表于 10-31 06:40

    MiniGUI 的軟件架構

    MiniGUI 的軟件架構 4.1 基于 MiniGUI 的嵌入式系統結構為什么 MiniGUI 能夠在如此眾多的嵌入式操作系統上運行?這是因為 MiniGUI 具有良
    發表于 03-28 12:04 ?2462次閱讀
    MiniGUI 的<b class='flag-5'>軟件</b><b class='flag-5'>架構</b>

    嵌入式軟件開發中三種程序架構

    前言 在嵌入式軟件開發,包括單片機開發中,軟件架構對于開發人員是一個必須認真考慮的問題。軟件
    的頭像 發表于 02-11 10:19 ?2147次閱讀
    嵌入式<b class='flag-5'>軟件開發</b>中三種程序<b class='flag-5'>架構</b>

    嵌入式軟件開發三種程序架構詳解

    在嵌入式軟件開發,包括單片機開發中,軟件架構對于開發人員是一個必須認真考慮的問題。 軟件
    的頭像 發表于 09-05 09:53 ?3312次閱讀
    嵌入式<b class='flag-5'>軟件開發</b>三種程序<b class='flag-5'>架構</b>詳解

    嵌入式開發軟件架構存在的意義

    在嵌入式軟件開發,包括單片機開發中,軟件架構對于開發人員是一個必須認真考慮的問題。軟件
    的頭像 發表于 09-08 09:18 ?2204次閱讀
    嵌入式<b class='flag-5'>開發</b>中<b class='flag-5'>軟件</b><b class='flag-5'>架構</b>存在的意義

    汽車功能安全軟件開發階段軟件架構安全設計

    軟件安全架構旨在刻畫出實現軟件功能安全基本的軟件框架,需要在系統架構的基礎上,對其軟件部分進行進
    發表于 10-08 10:45 ?2165次閱讀

    錫膏不上錫是因為活性不足嗎?

    眾所周知,有時候錫膏不上錫是因為活性不足,還有人會說活性越多越好。有時候錫膏不掛錫是因為活性不足嗎。這樣的話,你會覺得錫膏的活性越高越好嗎?下一步由深圳錫膏廠家為大家分析一下:大家都知道錫膏中有許多
    的頭像 發表于 01-04 15:46 ?296次閱讀
    錫膏不上錫<b class='flag-5'>是因為</b>活性不足嗎?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>