亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                嵌入式軟件架構(gòu)設(shè)計(jì)-程序分層

                嵌入式軟件架構(gòu)設(shè)計(jì)-程序分層

                1 前言

                嵌入式MCU軟件開(kāi)發(fā)過(guò)程中,程序分層設(shè)計(jì)也是重中之重,關(guān)系到整個(gè)軟件開(kāi)發(fā)過(guò)程中的協(xié)同開(kāi)發(fā),降低系統(tǒng)軟件的復(fù)雜度(復(fù)雜問(wèn)題分解)和依賴(lài)關(guān)系、同時(shí)有利于標(biāo)準(zhǔn)化,便于管理各層的程序,提高各層邏輯的復(fù)用等。


                2 分層介紹

                2.1 硬件抽象層(HAL)

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

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

                2.2 硬件驅(qū)動(dòng)層(HDL)

                嵌入式開(kāi)發(fā)通常都會(huì)使用片外資源,用來(lái)彌補(bǔ)硬件抽象層實(shí)現(xiàn)不了的功能或者需要擴(kuò)展的功能。

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

                2.3 功能模塊層(FML)

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

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

                2.4 應(yīng)用程序?qū)樱ˋPL)

                應(yīng)用程序?qū)又饕?fù)責(zé)的就是功能模塊的使用和之間的邏輯關(guān)系處理等等,比如用戶(hù)交互界面應(yīng)用程序可能需要按鍵(KEY)、指示燈(LED)、顯示屏(LCD)等,實(shí)現(xiàn)一系列的人機(jī)交互功能,通常應(yīng)用程序?qū)酉鄬?duì)于功能模塊層而言獨(dú)立性較低。

                一般情況下也可細(xì)分出應(yīng)用業(yè)務(wù)層,但是對(duì)于單片機(jī)產(chǎn)品來(lái)說(shuō),這一層的必要性反而不高,分層太多,反而顯得臃腫。


                3 總結(jié)

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

                硬件抽象層使用的芯片內(nèi)本身的資源(芯片手冊(cè)都有介紹),而硬件驅(qū)動(dòng)層使用的是芯片本身不存在的資源,而且需要編寫(xiě)相應(yīng)代碼才能實(shí)現(xiàn)的資源。

                比如正點(diǎn)原子STM32中CAN使用的TJA1050芯片,CAN屬于STM32的片內(nèi)資源,TJA1050屬于片外資源,但由于TJA1050不需要額外的代碼就能通過(guò)STM32中CAN本身提供API函數(shù)正常 工作;因此可以認(rèn)為T(mén)JA1050不屬于硬件驅(qū)動(dòng)層,而若使用TJA1041,則需要編寫(xiě)額外代碼才能使正常工作才能使STM32中CAN本身提供API函數(shù)正常工作,因此可以將TJA1041歸為硬件驅(qū)動(dòng)層。

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

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

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


                4 分層結(jié)構(gòu)示意圖

                如果本文對(duì)你有幫助,別忘記給我個(gè)3連問(wèn) ,點(diǎn)贊,轉(zhuǎn)發(fā),評(píng)論,,咱們下期見(jiàn)。

                收藏 等于白嫖,點(diǎn)贊才是真情。

                作者:大橙子瘋

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

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

                相關(guān)推薦

                • 30個(gè)無(wú)加盟費(fèi)的項(xiàng)目(茶顏悅色奶茶店加盟費(fèi)多少)

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

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

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

                  2022年11月27日
                • 存儲(chǔ)過(guò)程語(yǔ)法(sql server存儲(chǔ)過(guò)程語(yǔ)法)

                  今天小編給各位分享存儲(chǔ)過(guò)程語(yǔ)法的知識(shí),其中也會(huì)對(duì)sql server存儲(chǔ)過(guò)程語(yǔ)法進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧! oracle存儲(chǔ)過(guò)程基本語(yǔ)法…

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

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

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

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

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

                  最近一段時(shí)間最火爆的話題就是世界杯了,大家都想第一時(shí)間觀看直播比賽,一些海外小伙伴在問(wèn)世界杯海外直播在哪看?2022年世界杯海外直播免費(fèi)觀看平臺(tái)有哪些?下面小編為大家?guī)?lái)世界杯海外…

                  2022年11月25日
                • 規(guī)范透明促PPP高質(zhì)量發(fā)展——16萬(wàn)億元大市場(chǎng)迎來(lái)新規(guī)

                  近日,財(cái)政部印發(fā)《關(guān)于進(jìn)一步推動(dòng)政府和社會(huì)資本合作(PPP)規(guī)范發(fā)展、陽(yáng)光運(yùn)行的通知》,從做好項(xiàng)目前期論證、推動(dòng)項(xiàng)目規(guī)范運(yùn)作、嚴(yán)防隱性債務(wù)風(fēng)險(xiǎn)、保障項(xiàng)目陽(yáng)光運(yùn)行四個(gè)方面進(jìn)一步規(guī)范P…

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

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

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

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

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

                  據(jù)中興手機(jī)官微爆料,中興Axon40 Ultra航天版將于11月29日正式發(fā)布,新機(jī)不僅會(huì)采用驍龍?zhí)幚砥?,還將為大家?guī)?lái)一枚獨(dú)立安全芯片,獲得國(guó)密認(rèn)證,擁有安全專(zhuān)利布局,不僅可以大…

                  2022年11月24日

                聯(lián)系我們

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