那曲檬骨新材料有限公司

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

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

3天內不再提示

什么叫多任務系統 FreeRTOS任務管理

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:嵌入式Linux系統開 ? 2023-09-28 10:56 ? 次閱讀

回想一下我們以前在使用 51、AVR、STM32 單片機裸機(未使用系統)的時候一般都是在main 函數里面用while(1)做一個大循環來完成所有的處理,即應用程序是一個無限的循環,循環中調用相應的函數完成所需的處理。有時候我們也需要中斷中完成一些處理。相對于多任務系統而言,這個就是單任務系統,也稱作前后臺系統,中斷服務函數作為前臺程序,大循環while(1)作為后臺程序,如圖所示:

圖片

前后臺系統的實時性差,前后臺系統各個任務(應用程序)都是排隊等著輪流執行,不管你這個程序現在有多緊急,沒輪到你就只能等著!相當于所有任務(應用程序)的優先級都是一樣的。但是前后臺系統簡單啊,資源消耗也少啊!在稍微大一點的嵌入式應用中前后臺系統就明顯力不從心了,此時就需要多任務系統出馬了。

多任務系統會把一個大問題(應用)“分而治之”,把大問題劃分成很多個小問題,逐步的把小問題解決掉,大問題也就隨之解決了,這些小問題可以單獨的作為一個小任務來處理。這些小任務是并發處理的,注意,并不是說同一時刻一起執行很多個任務,而是由于每個任務執行的時間很短,導致看起來像是同一時刻執行了很多個任務一樣。多個任務帶來了一個新的問題,究竟哪個任務先運行,哪個任務后運行呢?完成這個功能的東西在RTOS 系統中叫做任務調度器。不同的系統其任務調度器的實現方法也不同,比如 FreeRTOS是一個搶占式的實時多任務系統,那么其任務調度器也是搶占式的,運行過程如圖所示:

圖片

高優先級的任務可以打斷低優先級任務的運行而取得 CPU的使用權,這樣就保證了那些緊急任務的運行。這樣我們就可以為那些對實時性要求高的任務設置一個很高的優先級,比如自動駕駛中的障礙物檢測任務等。高優先級的任務執行完成以后重新把CPU 的使用權歸還給低優先級的任務,這個就是搶占式多任務系統的基本原理。

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

    關注

    6043

    文章

    44621

    瀏覽量

    638586
  • 嵌入式
    +關注

    關注

    5093

    文章

    19178

    瀏覽量

    307703
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10905

    瀏覽量

    213030
  • FreeRTOS
    +關注

    關注

    12

    文章

    484

    瀏覽量

    62398
  • 應用程序
    +關注

    關注

    38

    文章

    3292

    瀏覽量

    57918
收藏 人收藏

    評論

    相關推薦

    轉:第10章 FreeRTOS任務管理

    第10章FreeRTOS任務管理 對于初學者,特別是對于沒有RTOS基礎的同學來說,了解FreeRTOS任務
    發表于 08-23 09:54

    在STM32下完成FreeRTOS多任務程序開發

    ---------FreeRTOS是一個迷你的實時操作系統內核。作為一個輕量級的操作系統,功能包括:任務管理、時間
    發表于 08-09 07:27

    如何去實現基于stm32的FreeRTOS多任務程序

    免費的,RTOS 全稱是 Real Time Operating System,中文就是實時操作系統。注意,RTOS 不是指某一個確定的系統,而是指一類系統。比如 uC/OS,FreeRTOS
    發表于 08-24 07:45

    如何使用CubeMX快速生成FreeRTOS系統并實現多任務處理?

    如何使用CubeMX快速生成FreeRTOS系統并實現多任務處理?
    發表于 12-20 08:00

    多任務系統與單任務系統分別是指什么

    多任務的并發執行通常依賴于一個多任務操作系統(OS),多任務OS的核心是系統調度器,它使用任務
    發表于 12-22 07:20

    淺析FreeRTOS任務系統

    FreeRTOS-任務基礎大多數時候,使用RTOS就是使用其多任務處理功能。所謂多任務處理,其實并不是我們移植了RTOS系統后,CPU就可以
    發表于 01-06 08:08

    FreeRTOS多任務系統的相關資料推薦

    目錄單片機各編程系統特點1、裸機系統(1)輪詢系統(2)前后臺系統2、多任務系統單片機各編程
    發表于 01-13 07:51

    如何在STM32下完成一個基于FreeRTOS多任務程序

    ).FreeRTOS是一個迷你的實時操作系統內核。作為一個輕量級的操作系統,功能包括:任務管理、時間管理
    發表于 01-17 07:10

    如何利用FreeRTOS程序完成多任務功能?

    如何利用FreeRTOS程序完成多任務功能?
    發表于 01-18 06:43

    任務裸機系統多任務系統的區別在哪

    外部事件驅動就能完成的事情前后臺系統:在輪詢系統的基礎上加入了終斷,終端即前臺,無限循環的部分后臺多任務系統:相比前后臺,
    發表于 02-18 07:03

    什么是多任務系統FreeRTOS任務與協程簡析

    FreeRTOS學習之FreeRTOS任務基礎知識轉行小白一枚,通過博客記錄自我學習,望更多博友多多指點,感激不盡!RTOS系統的核心就是任務
    發表于 02-18 06:38

    keil下的FreeRtos多任務程序學習

    keil下的FreeRtos多任務程序學習目標手動移植FreeRtos(以STM32F103為例)直接使用野火的模板學習目標學習FreeRTOS原理,在STM32下完成一個基于
    發表于 02-21 06:14

    stm32基于FreeRTOS多任務程序

    目錄實驗環境實驗目的實驗步驟代碼:實驗環境1.野火STM32MINI開發板2.keil5實驗目的在STM32下完成一個基于FreeRTOS多任務程序,執行3個周期性task,具體任務如下
    發表于 12-07 10:36 ?14次下載
    stm32基于<b class='flag-5'>FreeRTOS</b>的<b class='flag-5'>多任務</b>程序

    (一)FreeRTOS學習之FreeRTOS任務基礎知識

    FreeRTOS學習之FreeRTOS任務基礎知識轉行小白一枚,通過博客記錄自我學習,望更多博友多多指點,感激不盡!RTOS系統的核心就是任務
    發表于 12-23 19:57 ?3次下載
    (一)<b class='flag-5'>FreeRTOS</b>學習之<b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務</b>基礎知識

    基于FreeRTOS的STM32多任務程序

    基于FreeRTOS的STM32多任務程序一、材料準備二、 FreeRTOS移植FreeRTOS是什么FreeRTOS移植到STM32上(M
    發表于 12-27 18:38 ?28次下載
    基于<b class='flag-5'>FreeRTOS</b>的STM32<b class='flag-5'>多任務</b>程序
    南京百家乐官网电| 百家乐官网桌定制| 永利百家乐娱乐平台| 现场百家乐官网牌路分析| 猪猪棋牌游戏| 百家乐注册送彩金平台| 百家乐官网投注平台信誉排行| 大发888的促销代码| 赌场百家乐投注公式| 百家乐官网顺序| 新时代娱乐城| 威尼斯人娱乐城平台| gt百家乐平台| 盐城百家乐官网的玩法技巧和规则| 真钱百家乐官网送钱| 大发888官网黄金版| 百家乐专业豪华版| 微信百家乐官网群二维码| 乐百家乐官网彩娱乐城| 皇冠开户投注网| 丽都百家乐的玩法技巧和规则| 百家乐娱乐皇冠世界杯| 新世纪百家乐官网的玩法技巧和规则 | 威尼斯人娱乐城赌博| 百家乐真人娱乐场| 银河百家乐官网的玩法技巧和规则| 百家乐官网不倒翁注码| 德州扑克发牌视频| 威尼斯人娱乐城 2013十一月九问好 | 云林县| 金冠娱乐城开户| 大发888娱乐场是真是假| 亲朋棋牌大厅下载| 大发888娱乐场df888| 大发888娱乐城欢迎您| 百家乐网络赌城| 百家乐baccarat| 百家乐博欲乐城| 丽星百家乐的玩法技巧和规则| 网上百家乐真钱游戏| 大发888百科|