0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FreeRtos于嵌入式環(huán)境的應(yīng)用

jf_10471008 ? 來(lái)源:jf_10471008 ? 作者:jf_10471008 ? 2022-11-18 17:52 ? 次閱讀

FreeRtos操作系統(tǒng)

首先,應(yīng)該介紹什么是FreeRtos,他于單片機(jī)而言就是一個(gè)管理器,作為管理者管理嵌入式芯片中的任務(wù),堆棧,中斷,隊(duì)列等等資源,對(duì)于操作系統(tǒng)而言,又分為實(shí)時(shí)操作系統(tǒng)和非實(shí)時(shí)操作系統(tǒng),實(shí)時(shí)操作系統(tǒng)代表任務(wù)或者某個(gè)功能必須在指定的運(yùn)行時(shí)間內(nèi)完成,保證設(shè)備想要執(zhí)行的功能能立即得到執(zhí)行,F(xiàn)reeRtos就是一個(gè)迷你型的實(shí)時(shí)操作系統(tǒng)內(nèi)核。

FreeRtos作為輕量級(jí)的操作系統(tǒng)活躍于嵌入式行業(yè)當(dāng)中。它占用的資源非常少,是為數(shù)不多的能夠在小型單片機(jī)上移植的操作系統(tǒng),并且是完全免費(fèi)的。包括在飛機(jī)、航天器上,也在使用一些特別定制的實(shí)時(shí)嵌入式操作系統(tǒng),來(lái)保證設(shè)備的正常運(yùn)轉(zhuǎn)。

pYYBAGN3VeuAdu5pAAWEZ-Obto8541.png

作為嵌入式實(shí)時(shí)操作系統(tǒng),F(xiàn)reeRtos具有搶占式實(shí)時(shí)操作系統(tǒng)內(nèi)核,也就是說(shuō)任務(wù)之間有優(yōu)先級(jí)的區(qū)分,比如一些需要實(shí)時(shí)響應(yīng)的功能部分,可以把優(yōu)先級(jí)設(shè)置得高一些,這樣當(dāng)需要執(zhí)行的時(shí)候,高優(yōu)先級(jí)別的任務(wù)可以打斷別的低優(yōu)先級(jí)任務(wù),率先得到CPU資源,得到執(zhí)行的機(jī)會(huì)。作為體量而言,他本身占用的rom空間與ram空間就非常小了,它還支持再往下地裁剪,可以將功能裁剪一部分,最小能夠只占用10kb左右的rom空間和大約10kb的ram空間。

pYYBAGN3Ve6AfmBwAAObh909yo4048.png

互斥鎖—避免死鎖

同時(shí)FreeRtos內(nèi)部就有互斥鎖,互斥鎖的作用在于避免死鎖的情況發(fā)生,由于任務(wù)運(yùn)行可能會(huì)用到一部分的參數(shù)資源,CPU資源等等,當(dāng)一個(gè)任務(wù)占用這些資源并且不釋放的時(shí)候,其他的任務(wù)是無(wú)法調(diào)用這些資源的。那么試想,當(dāng)兩個(gè)任務(wù)分別在執(zhí)行的時(shí)候,雖然由于單核的原因,任務(wù)肯定有掛起的時(shí)候,但是掛起并沒(méi)有代表任務(wù)就釋放了這些資源,當(dāng)兩個(gè)任務(wù)分別擁有對(duì)方想要使用的資源,所以都等待著對(duì)方釋放,當(dāng)雙方都不釋放的時(shí)候,就會(huì)造成死鎖,兩個(gè)任務(wù)都將徹底卡死不再繼續(xù)執(zhí)行,同時(shí)對(duì)于一些關(guān)鍵的代碼段而言,由于任務(wù)之間的調(diào)度,可能被多個(gè)任務(wù)執(zhí)行過(guò)甚至更改過(guò)參數(shù),這種情況也是需要避免的,這就是互斥鎖的意義,它保證在同一時(shí)刻,只能有一個(gè)線(xiàn)程去操作關(guān)鍵性的共享數(shù)據(jù),保證數(shù)據(jù)不被多任務(wù)調(diào)用執(zhí)行,保證任務(wù)的正確調(diào)度和數(shù)據(jù)的安全性。

poYBAGN3Ve6AR5tiAAChqvh5lGw870.png

信號(hào)量和消息隊(duì)列

FreeRtos還有信號(hào)量和消息隊(duì)列的功能。一個(gè)任務(wù)可以向消息隊(duì)列中添加信息,添加的多條信息按照FIFO先入先出的形式(這種形式也更適合數(shù)據(jù)信息處理)的方式被別的任務(wù)接收到,接收到后判定是否執(zhí)行相關(guān)操作,這樣可以防止多任務(wù)的訪(fǎng)問(wèn)沖突,也解決了中斷服務(wù)程序與任務(wù)之間的消息傳遞的問(wèn)題。

20221141046463399.png

總結(jié)

其實(shí)對(duì)于單片機(jī)或者嵌入式設(shè)備而言,F(xiàn)reeRtos并不是百利而無(wú)一害,既然作為管理者,肯定是需要CPU資源支持管理調(diào)度的,同時(shí)還有rom和ram的消耗,所以對(duì)于嵌入式設(shè)備而言,是否要上FreeRtos系統(tǒng)是一種權(quán)衡,如果小型的簡(jiǎn)單邏輯設(shè)備,沒(méi)有必要舍近求遠(yuǎn)去移植操作系統(tǒng),直接裸奔就是最好的選擇,本身簡(jiǎn)單的邏輯也不需要太多的管理支持。

但是隨著邏輯的增多,功能的增多,F(xiàn)reeRtos的必要性就會(huì)越來(lái)越高,因?yàn)檫壿嫷脑龆啵覀兏枰獙⒕杏诠δ懿糠值拈_(kāi)發(fā)而不是這些功能任務(wù)間的調(diào)度。任務(wù)的運(yùn)行、掛起、就緒態(tài)之間的轉(zhuǎn)換,也正是FreeRtos的核心,要在眾多任務(wù)間做好這件事,并不容易,感謝有這么一種開(kāi)源免費(fèi)的操作系統(tǒng),來(lái)幫助開(kāi)發(fā)者精力集中地進(jìn)行開(kāi)發(fā),讓設(shè)備的運(yùn)行更穩(wěn)定、更加科學(xué)。

pYYBAGN3VfiAEVUAAAF3E-Z_hXM479.png

原文:FreeRtos于嵌入式環(huán)境的應(yīng)用

MCGS嵌入軟件配置教程

MCGS用戶(hù)程序云端授權(quán)系統(tǒng)設(shè)計(jì)

審核編輯黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5087

    文章

    19153

    瀏覽量

    306418
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    484

    瀏覽量

    62274
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ARM架構(gòu)嵌入式主板特點(diǎn)

    極其廣泛。ARM架構(gòu)嵌入式主板有什么特點(diǎn)呢?一、工作時(shí)間及環(huán)境:ARM主板不受時(shí)間限制,可常開(kāi)機(jī),無(wú)需人員維護(hù)。在有電源調(diào)節(jié)的情況下,只要接通電源,就會(huì)自動(dòng)啟動(dòng),
    的頭像 發(fā)表于 12-31 16:03 ?248次閱讀
    ARM架構(gòu)<b class='flag-5'>嵌入式</b>主板特點(diǎn)

    ARM嵌入式實(shí)時(shí)操作系統(tǒng)比較

    嵌入式系統(tǒng)領(lǐng)域,實(shí)時(shí)操作系統(tǒng)(RTOS)是確保任務(wù)按時(shí)完成的關(guān)鍵技術(shù)。ARM架構(gòu)因其低功耗、高性能的特點(diǎn),在嵌入式系統(tǒng)中得到了廣泛應(yīng)用。本文將對(duì)幾款流行的ARM嵌入式RTOS進(jìn)行比較,包括
    的頭像 發(fā)表于 12-28 09:15 ?421次閱讀

    什么是嵌入式?一文讀懂嵌入式主板

    的個(gè)人電腦不同,嵌入式系統(tǒng)不是為了通用的計(jì)算任務(wù)設(shè)計(jì),而是專(zhuān)注特定的應(yīng)用場(chǎng)景,確保其在特定環(huán)境中運(yùn)行得既高效又可靠。
    的頭像 發(fā)表于 10-16 10:14 ?1265次閱讀

    目前深圳嵌入式單片機(jī)就業(yè)環(huán)境如何?

    深圳作為中國(guó)的科技創(chuàng)新中心之一,在嵌入式單片機(jī)領(lǐng)域的就業(yè)環(huán)境相對(duì)較好,以下是對(duì)該就業(yè)環(huán)境的詳細(xì)分析:
    的頭像 發(fā)表于 10-09 11:51 ?523次閱讀
    目前深圳<b class='flag-5'>嵌入式</b>單片機(jī)就業(yè)<b class='flag-5'>環(huán)境</b>如何?

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱(chēng)為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計(jì)算機(jī)硬件,其設(shè)計(jì)旨在嵌入特定設(shè)備中執(zhí)行專(zhuān)門(mén)任務(wù)。嵌入式主板如同是設(shè)備的“大腦”,主要功能是根據(jù)需要管理和控制設(shè)備
    的頭像 發(fā)表于 09-30 10:05 ?675次閱讀

    嵌入式系統(tǒng)的未來(lái)趨勢(shì)有哪些?

    嵌入式系統(tǒng)是指將我們的操作系統(tǒng)和功能軟件集成計(jì)算機(jī)硬件系統(tǒng)之中,形成一個(gè)專(zhuān)用的計(jì)算機(jī)系統(tǒng)。那么嵌入式系統(tǒng)的未來(lái)趨勢(shì)有哪些呢? 1. 人工智能與機(jī)器學(xué)習(xí)的整合 隨著現(xiàn)代人工智能(AI)和機(jī)器學(xué)習(xí)
    發(fā)表于 09-12 15:42

    嵌入式開(kāi)發(fā)前景怎么樣?

    嵌入式開(kāi)發(fā)前景非常廣闊,這主要得益物聯(lián)網(wǎng)、人工智能、大數(shù)據(jù)等技術(shù)的快速發(fā)展,以及嵌入式系統(tǒng)在各個(gè)領(lǐng)域的廣泛應(yīng)用。以下是對(duì)嵌入式開(kāi)發(fā)前景的詳細(xì)分析
    的頭像 發(fā)表于 07-10 09:00 ?2801次閱讀
    <b class='flag-5'>嵌入式</b>開(kāi)發(fā)前景怎么樣?

    嵌入式系統(tǒng)怎么學(xué)?

    工具:熟悉常用的嵌入式系統(tǒng)開(kāi)發(fā)工具,包括集成開(kāi)發(fā)環(huán)境(IDE)、編譯器、調(diào)試器(如Keil、IAREmbedded Workbench、Eclipse)等。 5、實(shí)時(shí)操作系統(tǒng)(RTOS):了解實(shí)時(shí)
    發(fā)表于 07-02 10:10

    如何提升嵌入式編程能力?

    /C++:大多數(shù)嵌入式系統(tǒng)使用C或C++編程語(yǔ)言,因此深入學(xué)習(xí)這兩種語(yǔ)言是非常重要的。 8. 理解操作系統(tǒng):學(xué)習(xí)嵌入式操作系統(tǒng)(如FreeRTOS, VxWorks, Zephyr等)的工作原理
    發(fā)表于 06-21 10:01

    觸翔工業(yè)嵌入式工控主板在環(huán)境監(jiān)測(cè)的應(yīng)用

    觸翔工業(yè)嵌入式工控主板在環(huán)境監(jiān)測(cè)領(lǐng)域的應(yīng)用極為廣泛,主要得益其在惡劣環(huán)境下的高可靠性、穩(wěn)定性以及對(duì)復(fù)雜數(shù)據(jù)處理能力,以下是一些關(guān)鍵應(yīng)用示例:
    的頭像 發(fā)表于 05-22 16:57 ?410次閱讀
    觸翔工業(yè)<b class='flag-5'>嵌入式</b>工控主板在<b class='flag-5'>環(huán)境</b>監(jiān)測(cè)的應(yīng)用

    再談嵌入式實(shí)時(shí)操作系統(tǒng)

    由于嵌入式處理器早期功能單一且運(yùn)算能力不高,嵌入式應(yīng)用已不能滿(mǎn)足各個(gè)領(lǐng)域不斷增長(zhǎng)的需求。嵌入式操作系統(tǒng)應(yīng)運(yùn)而生,嵌入式操作系統(tǒng)可以支持新時(shí)代復(fù)雜、多任務(wù)
    的頭像 發(fā)表于 04-09 17:27 ?827次閱讀
    再談<b class='flag-5'>嵌入式</b>實(shí)時(shí)操作系統(tǒng)

    嵌入式fpga是什么意思

    嵌入式FPGA是指將FPGA技術(shù)集成到嵌入式系統(tǒng)中的一種解決方案。嵌入式系統(tǒng)是一種為特定應(yīng)用而設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),它通常包括處理器、內(nèi)存、外設(shè)接口等組件,并且被嵌入到更大的設(shè)備或系統(tǒng)中,
    的頭像 發(fā)表于 03-15 14:29 ?1308次閱讀

    fpga是嵌入式

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)不是嵌入式系統(tǒng),但FPGA在嵌入式系統(tǒng)中有著重要的應(yīng)用。
    的頭像 發(fā)表于 03-14 17:19 ?2406次閱讀

    嵌入式工控機(jī)性能特點(diǎn) 嵌入式工控機(jī)應(yīng)用場(chǎng)景

    特點(diǎn): 1.高可靠性:嵌入式工控機(jī)通常采用工業(yè)級(jí)的硬件設(shè)計(jì),具有防塵、防震、抗干擾等特性,能夠在惡劣的工業(yè)環(huán)境下穩(wěn)定運(yùn)行。 2.實(shí)時(shí)性:工業(yè)控制系統(tǒng)對(duì)于數(shù)據(jù)的采集、處理和響應(yīng)要求非常高,嵌入式工控機(jī)能夠?qū)崟r(shí)地進(jìn)行數(shù)據(jù)處
    的頭像 發(fā)表于 02-04 11:35 ?728次閱讀

    嵌入式學(xué)習(xí)步驟

    開(kāi)發(fā)。 嵌入式學(xué)習(xí)步驟總結(jié)如下: (1).確定目標(biāo)平臺(tái):選擇適合您要開(kāi)發(fā)的嵌入式系統(tǒng)的硬件平臺(tái)。這取決您要控制的設(shè)備以及您需要執(zhí)行的任務(wù)。 (2).選擇編程語(yǔ)言:嵌入式系統(tǒng)通常使用C
    發(fā)表于 02-02 15:24