在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    嵌入式軟件架構設計-程序分層

    嵌入式軟件架構設計-程序分層

    1 前言

    嵌入式MCU軟件開發(fā)過程中,程序分層設計也是重中之重,關系到整個軟件開發(fā)過程中的協(xié)同開發(fā),降低系統(tǒng)軟件的復雜度(復雜問題分解)和依賴關系、同時有利于標準化,便于管理各層的程序,提高各層邏輯的復用等。


    2 分層介紹

    2.1 硬件抽象層(HAL)

    嵌入式開發(fā)的核心就是芯片,它提供固定的片內資源(常用的有I/O,ISR,TIMER等,稍微好點的還有ADC,SPI等硬件資源,不需要芯片外圍ADC采集芯片或模擬SPI)共開發(fā)者使用。而且它具有一個很重要的特點就是,不隨項目的新增需求變動而變動。所以應將其作為最底層,為上層提供基礎支持。

    大部分情況下該層都會有芯片廠商提供相應的庫函數(shù)包或者配置工具生成對應API函數(shù),基本只要知道如何配置和使用就行,當然,也有可能存在芯片廠商提供的庫函數(shù)包或配置工具配置/使用自由度不高,需要自己查看芯片寄存器手冊增加自己需要的API函數(shù)。

    2.2 硬件驅動層(HDL)

    嵌入式開發(fā)通常都會使用片外資源,用來彌補硬件抽象層實現(xiàn)不了的功能或者需要擴展的功能。

    如AT24C02,W25Q128等常見的外圍EEPROM芯片,需要SPI通信(硬件SPI或I/O模擬的SPI)發(fā)送相應指令驅動該芯片,實現(xiàn)該芯片能正常工作。因此驅動這部分的API函數(shù)實現(xiàn)程序即為硬件驅動層。即使換了MCU,也只需將調用過硬件抽象層的API函數(shù)替換即可。

    2.3 功能模塊層(FML)

    硬件抽象層和驅動層主要就是為功能模塊層提供的,是實現(xiàn)該項目需要的基本功能。而這一層又為上層提供最基本的功能,各功能模塊之前沒有太多聯(lián)系。

    比如KEY、LED和EEPROM等功能,其中LEY、LED基本調用硬件抽象層的API函數(shù)(更復雜的可能通過片外芯片獲取/控制等,因此可能也需要使用硬件驅動層),EEPROM調用硬件驅動層的API函數(shù),即使EEPROM芯片更換(AT24C02或W25Q128等),也不影響EEPROM之前編寫含的功能代碼程序(前提是AT24C02,W25Q128提供的API函數(shù)提供的是統(tǒng)一標準)。

    2.4 應用程序層(APL)

    應用程序層主要負責的就是功能模塊的使用和之間的邏輯關系處理等等,比如用戶交互界面應用程序可能需要按鍵(KEY)、指示燈(LED)、顯示屏(LCD)等,實現(xiàn)一系列的人機交互功能,通常應用程序層相對于功能模塊層而言獨立性較低。

    一般情況下也可細分出應用業(yè)務層,但是對于單片機產品來說,這一層的必要性反而不高,分層太多,反而顯得臃腫。


    3 總結

    3.1 硬件抽象層和硬件驅動層的主要區(qū)別

    硬件抽象層使用的芯片內本身的資源(芯片手冊都有介紹),而硬件驅動層使用的是芯片本身不存在的資源,而且需要編寫相應代碼才能實現(xiàn)的資源。

    比如正點原子STM32中CAN使用的TJA1050芯片,CAN屬于STM32的片內資源,TJA1050屬于片外資源,但由于TJA1050不需要額外的代碼就能通過STM32中CAN本身提供API函數(shù)正常 工作;因此可以認為TJA1050不屬于硬件驅動層,而若使用TJA1041,則需要編寫額外代碼才能使正常工作才能使STM32中CAN本身提供API函數(shù)正常工作,因此可以將TJA1041歸為硬件驅動層。

    3.2 功能模塊層和硬件抽象層、硬件驅動層的主要區(qū)別

    功能模塊層是按照項目需求提取出來的功能,需要硬件抽象層和硬件驅動層的硬件支持才能實現(xiàn),功能模塊層根據(jù)項目的功能需求改變而改變,而硬件抽象層和硬件驅動層則是項目需求書中的功耗等硬件相關的需求變動而改變,當然,若子功能的增加而硬件不支持,則也需更換硬件驅動。

    比如項目中的數(shù)據(jù)儲存功能,硬件支持有AT24C02、W25Q128和芯片本身的FLASH,都可以支持數(shù)據(jù)儲存功能,即使后期因為功耗或節(jié)約成本等問題,硬件的更換也不影響數(shù)據(jù)儲存功能的實現(xiàn)(前提規(guī)劃好標準規(guī)范的API函數(shù)定義)且避免了重寫該功能代碼所帶來的各種問題,保證了該功能的穩(wěn)定性。


    4 分層結構示意圖

    如果本文對你有幫助,別忘記給我個3連問 ,點贊,轉發(fā),評論,,咱們下期見。

    收藏 等于白嫖,點贊才是真情。

    作者:大橙子瘋

    原文鏈接:https://www.cnblogs.com/const-zpc/p/16364443.html

    鄭重聲明:本文內容及圖片均整理自互聯(lián)網,不代表本站立場,版權歸原作者所有,如有侵權請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月26日 21:08
    下一篇 2022年6月26日 21:08

    相關推薦

    • 30個無加盟費的項目(茶顏悅色奶茶店加盟費多少)

      茶顏悅色又爆了,8月18日,茶顏悅色南京門店正式開業(yè),開張不到半小時,門店就人滿為患,消費者的購買熱情十分高漲,而由于人流量過大造成擁堵,茶顏悅色也不得不暫停營業(yè)。 當然,這里面排…

      2022年11月27日
    • 推薦48個微商引流推廣的方法(微商引流推廣的方法有哪些)

      微商引流技能01——同行互推 資源共享,大家才會共贏。加入你是做穴位貼的,你的朋友是做化妝品的,這是兩個沒有交集的行業(yè),你們可以友情互推,這樣每個月的資源就都擴大了一倍,而且這些資…

      2022年11月27日
    • 存儲過程語法(sql server存儲過程語法)

      今天小編給各位分享存儲過程語法的知識,其中也會對sql server存儲過程語法進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧! oracle存儲過程基本語法…

      2022年11月26日
    • 凈利潤率越高越好嗎(凈利潤率多少合適)

      一、持續(xù)增收不增利,平均凈利潤率首次跌入個位數(shù) 2021年,增收不增利依舊是行業(yè)主流。具體來看,大部分企業(yè)營業(yè)收入呈增長態(tài)勢,E50企業(yè)平均同比增速達到17.3%,但是利潤增速則明…

      2022年11月26日
    • 全民K歌升級新版本7.0之后,有哪些隱藏功能?

      作者:高百烈來源:知乎 這個功能,舊版并沒有,要升級到全新的全民K歌7.0版本才能發(fā)現(xiàn)。 作為朋友圈當代K歌之王,我費了不少功夫才搶到內測版本。有一說一,全民K歌的路子真的很野,新…

      2022年11月25日
    • 世界杯海外直播在哪看(中國女籃世界杯直播)

      最近一段時間最火爆的話題就是世界杯了,大家都想第一時間觀看直播比賽,一些海外小伙伴在問世界杯海外直播在哪看?2022年世界杯海外直播免費觀看平臺有哪些?下面小編為大家?guī)硎澜绫M狻?/p>

      2022年11月25日
    • 規(guī)范透明促PPP高質量發(fā)展——16萬億元大市場迎來新規(guī)

      近日,財政部印發(fā)《關于進一步推動政府和社會資本合作(PPP)規(guī)范發(fā)展、陽光運行的通知》,從做好項目前期論證、推動項目規(guī)范運作、嚴防隱性債務風險、保障項目陽光運行四個方面進一步規(guī)范P…

      2022年11月25日
    • 上手Reno8 Pro體驗跨屏互聯(lián) 實在太方便!

      11月已經來到了月底,在手機品牌又要推出新一年度的新品手機之前,我們來點評一下今年令人驚喜的產品。如OPPO的Reno8 Pro系列,該系列搭載雙芯影像配置獲得了很多消費者的認可?!?/p>

      2022年11月25日
    • 推薦3種白手起家的賺錢項目(白手起家賺錢項目有哪些)

      如今社會壓力非常的大,家有老少要養(yǎng)活,這些都加速了窮人想要創(chuàng)業(yè)的欲望,但是創(chuàng)業(yè)路總是那么的艱難,資金就是創(chuàng)業(yè)的重頭戲,所以選擇一個低成本又賺錢的項目是大多數(shù)人最期望的了,那么有哪些…

      2022年11月25日
    • 中興Axon40 Ultra航天版將于11月29日正式發(fā)布

      據(jù)中興手機官微爆料,中興Axon40 Ultra航天版將于11月29日正式發(fā)布,新機不僅會采用驍龍?zhí)幚砥鳎€將為大家?guī)硪幻丢毩踩酒?,獲得國密認證,擁有安全專利布局,不僅可以大…

      2022年11月24日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息