日韩在线不卡免费视频一区,日韩欧美精品一区二区三区经典,日产精品码2码三码四码区,人妻无码一区二区三区免费,日本feerbbwdh少妇丰满

lihui710884923
認(rèn)證:VIP會員
所在專題目錄 查看專題
圖解STM32的4輸入 + 2 輸出 + 2 復(fù)用輸出8模式
開源之太陽能智能充電管理系統(tǒng)
嵌入式軟件底層開發(fā)的框架
嵌入式串口通訊處理機(jī)制(附FIFO源碼)
STM32 嵌入式平臺上的語音識別系統(tǒng)
STM32F767ZI 之人工智能(AI) 應(yīng)用
作者動態(tài) 更多
物聯(lián)網(wǎng)專題之NB-IoT項目框架(二)
2024-07-25 11:53
物聯(lián)網(wǎng)專題之介紹(一)
2024-07-11 18:37
單片機(jī)RTC的中斷剖析
2024-03-09 15:28
串口通訊的來龍去脈
2024-02-14 17:32
stm32單片機(jī)的USB燒錄程序
2023-09-08 22:48
工程師都在看

嵌入式軟件底層開發(fā)的框架

      在底層代碼編寫中,初始的框架設(shè)計總會面臨選擇,針對實(shí)際的硬件使用環(huán)境,大家對于使用的軟件框架有很多選擇,今天我簡單描述一些比較常用的架構(gòu),讓大家能夠理解并選擇合適的架構(gòu)。

1. 簡單的順序執(zhí)行程序:這類寫法是大多數(shù)人使用的方法,不需用思考程序的具體架構(gòu),直接按照執(zhí)行順序編寫應(yīng)用程序即可。

2.前后臺執(zhí)行程序:在順序執(zhí)行的情況上增添中斷前臺處理機(jī)制,配置順序執(zhí)行的后臺大循環(huán)程序,組合成可以實(shí)時響應(yīng)的程序。

3. 時間片輪循法:在前后臺的執(zhí)行架構(gòu)上,通過計數(shù)器進(jìn)一步規(guī)劃程序,定時執(zhí)行特定的片段。

4. 實(shí)時操作系統(tǒng):實(shí)時操作系統(tǒng)又叫RTOS,實(shí)時性,RTOS的內(nèi)核負(fù)責(zé)管理所有的任務(wù),內(nèi)核決定了運(yùn)行哪個任務(wù),何時停止當(dāng)前任務(wù)切換到其  他任務(wù),這個是內(nèi)核的多任務(wù)管理能力。多任務(wù) 管理給人的感覺就好像芯片有多個CPU,多任務(wù)管理實(shí)現(xiàn)了CPU資源的最大化利用,多任務(wù)管理有助于實(shí)現(xiàn)程序的模塊化開發(fā),能夠?qū)崿F(xiàn)復(fù)雜的實(shí)時應(yīng)用。除了實(shí)時性,還有可剝奪內(nèi)核,顧名思義就是可以剝奪其他任務(wù)的CPU使用權(quán),它總是運(yùn)行就緒任務(wù)中的優(yōu)先級最高的那個任務(wù)。

                                             1.簡單的順序執(zhí)行程序

                                               2.前后臺執(zhí)行程序

 這種程序特點(diǎn)是,后臺大循環(huán)中一直執(zhí)行默認(rèn)的程序,中斷服務(wù)程序(ISR)產(chǎn)生相應(yīng)中斷標(biāo)記,主程序運(yùn)行與中斷標(biāo)記相關(guān)聯(lián)的任務(wù)程序。一般實(shí)現(xiàn)有如下思路:

    通過設(shè)置標(biāo)志變量,然后在前臺響應(yīng)中斷的時候進(jìn)行對標(biāo)志變量的置位或者復(fù)位,實(shí)現(xiàn)事件的信號獲取,再在后臺主循環(huán)進(jìn)行中斷所對應(yīng)事物或者數(shù)據(jù)的處理,將程序流程轉(zhuǎn)移到主程序。

                                                     3.時間片輪循架構(gòu)

時間片輪循法,大家看到它的時候,一般會將它與操作系統(tǒng)進(jìn)行比較。不是說操作系統(tǒng)包含這種方法,而是在前后臺程序中配合時間管理形成時間片輪循架構(gòu)。

這種架構(gòu)已經(jīng)最大限度接近RTOS,時間管理,中斷管理,任務(wù)管理,已經(jīng)都有了,只不過RTOS會對內(nèi)核進(jìn)行更深入的修改,有針對delay延時的線程切換,搶占式任務(wù)切換這些更為復(fù)雜一些的功能等。

                                                        時間片輪循程序

時間片管理主要是通過對定時多處復(fù)用,在定時器計數(shù),定時進(jìn)行標(biāo)志位的變化,繼而主程序?qū)?biāo)志真假的判斷,實(shí)現(xiàn)不同時間不同任務(wù)狀態(tài)執(zhí)行。

因?yàn)榇思軜?gòu)代碼比較好,我適當(dāng)進(jìn)行詳細(xì)描述。

1:初始化相應(yīng)的定時器:注意設(shè)置定時器的間隔頻率,可以按照芯片的性能設(shè)置。例如,設(shè)置定時中斷為1ms,也可以設(shè)置為10ms,輪循架構(gòu)中的定時器部分與操作系統(tǒng)的定時器部分具有一樣的功能,中斷過于頻繁,影響主程的序執(zhí)行效率;中斷間隔過長,實(shí)時響應(yīng)效果差。

2:針對定時器運(yùn)行的任務(wù)設(shè)置一個函數(shù)結(jié)構(gòu)體標(biāo)志,用來在定時程序進(jìn)行時間計數(shù)以及標(biāo)志操作。

4:定時中斷服務(wù)函數(shù),按照我們需要的時間以及標(biāo)志操作進(jìn)行計時。

 5:主函數(shù)進(jìn)行任務(wù)函數(shù)執(zhí)行。

                                               4.操作系統(tǒng)RTOS

      嵌入式操作系統(tǒng)是更加優(yōu)化的執(zhí)行框架,針對多任務(wù),功能復(fù)雜,擴(kuò)展性要求強(qiáng)項目的代碼有非常好的使用。RTOS是針對不同處理器優(yōu)化設(shè)計的高效率實(shí)時多任務(wù)內(nèi)核,RTOS可以面對幾十個系列的嵌入式處理器MPU、MCU、DSP、SOC等提供類同的API接口,這是RTOS基于設(shè)備獨(dú)立的應(yīng)用程序開發(fā)基礎(chǔ)。因此,基于RTOS的C語言程序具有極大的可移植性。目前針對微嵌入式或者單片機(jī)的操作系統(tǒng)有VxWorks、UCOS、Free RTOS、國產(chǎn)的RTT,這些操作系統(tǒng)大同小異,基本的功能都類似:任務(wù)管理、任務(wù)間同步和通信、內(nèi)存管理、實(shí)時時鐘服務(wù)、中斷管理服務(wù)。

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 11
收藏 13
關(guān)注 213
成為作者 賺取收益
全部留言
0/200
  • 小董 2021-03-03 15:44
    佩服樓主
    回復(fù)
  • dy-blNlwnWV 2021-02-21 21:37
    圍觀學(xué)習(xí)
    回復(fù)
  • 星球居民-YBPLIKJ1 2020-12-19 09:18
    底層深入了解
    回復(fù)
  • 喂,你好 2020-12-16 12:22
    感謝分享
    回復(fù)
  • heiha88 2020-12-03 22:45
    學(xué)習(xí)底層框架
    回復(fù)
  • liuxiaofei126 2020-12-02 07:12
    底層總結(jié)的可以
    回復(fù)
  • 程序小白 2020-12-01 12:15
    文章不錯,贊一個!
    回復(fù) 1條回復(fù)