精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

FreeRTOS中的空閑任務是什么

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

空閑任務是 FreeRTOS 必不可少的一個任務,其他 RTOS 類系統也有空閑任務,比如 uC/OS。看名字就知道,空閑任務是處理器空閑的時候去運行的一個任務,當系統中沒有其他就緒任務的時候空閑任務就會開始運行,空閑任務最重要的作用就是讓處理器在無事可做的時候找點事做,防止處理器無聊,因此,空閑任務的優先級肯定是最低的。當然了,實際上肯定不會這么浪費寶貴的處理器資源,FreeRTOS 空閑任務中也會執行一些其他的處理。

空閑任務詳解

1、空閑任務簡介

當 FreeRTOS 的調度器啟動以后就會自動的創建一個空閑任務,這樣就可以確保至少有一任務可以運行。但是這個空閑任務使用最低優先級,如果應用中有其他高優先級任務處于就緒態的話這個空閑任務就不會跟高優先級的任務搶占 CPU 資源??臻e任務還有另外一個重要的職責,如果某個任務要調用函數 vTaskDelete()刪除自身,那么這個任務的任務控制塊 TCB 和任務堆棧等這些由 FreeRTOS 系統自動分配的內存需要在空閑任務中釋放掉,如果刪除的是別的任務那么相應的內存就會被直接釋放掉,不需要在空閑任務中釋放。因此,一定要給空閑任務執行的機會!除此以外空閑任務就沒有什么特別重要的功能了,所以可以根據實際情況減少空閑任務使用 CPU 的時間(比如,當 CPU 運行空閑任務的時候使處理器進入低功耗模式)。

用戶可以創建與空閑任務優先級相同的應用任務,當宏 configIDLE_SHOULD_YIELD 為 1的話應用任務就可以使用空閑任務的時間片,也就是說空閑任務會讓出時間片給同優先級的應用任務。這種機制要求FreeRTOS 使用搶占式內核。

2、空閑任務的創建

當調用函數 vTaskStartScheduler()啟動任務調度器的時候此函數就會自動創建空閑任務。

3、空閑任務函數

空閑任務的任務函數為 prvIdleTask(),但是實際上是找不到這個函數的,因為它是通過宏定義來實現的,在文件 portmacro.h 中有如下宏定義:

#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters )

其中 portTASK_FUNCTION()在文件 tasks.c 中有定義,它就是空閑任務的任務函數。

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

    關注

    5068

    文章

    19019

    瀏覽量

    303292
  • RTOS
    +關注

    關注

    21

    文章

    809

    瀏覽量

    119433
  • FreeRTOS
    +關注

    關注

    12

    文章

    483

    瀏覽量

    62010
收藏 人收藏

    評論

    相關推薦

    FreeRTOS介紹與基礎任務創建

    本篇介紹FreeRTOS與基礎任務創建
    的頭像 發表于 09-26 09:00 ?2352次閱讀
    <b class='flag-5'>FreeRTOS</b>介紹與基礎<b class='flag-5'>任務</b>創建

    FreeRTOS任務管理

    任務FreeRTOS 中最基本的調度單元,它是一段可執行的代碼,可以獨立運行。FreeRTOS 任務是基于優先級的搶占式調度,優先級
    的頭像 發表于 11-27 17:03 ?950次閱讀

    轉:第10章 FreeRTOS任務管理

    10.8FreeRTOS任務刪除10.9FreeRTOS任務掛起10.10FreeRTOS任務
    發表于 08-23 09:54

    Zynq中使用FreeRTOS空閑鉤子函數時在SDK的設置

    本文介紹zynq中使用FreeRTOS空閑鉤子函數時在SDK的設置和一些說明
    發表于 03-09 14:33 ?2555次閱讀
    Zynq中使用<b class='flag-5'>FreeRTOS</b>的<b class='flag-5'>空閑</b>鉤子函數時在SDK<b class='flag-5'>中</b>的設置

    FreeRTOS任務如何創建和刪除?

    FreeRTOS移植到Cortex-M3硬件平臺的文章,我們已經見過任務創建API,但那篇文章的重點在于如何移植FreeRTOS,本文將重點放在
    的頭像 發表于 03-11 18:08 ?2902次閱讀

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

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

    FreeRTOS任務詳解

    詳細講解freeRTOS任務
    發表于 12-23 20:01 ?11次下載
    <b class='flag-5'>FreeRTOS</b>的<b class='flag-5'>任務</b>詳解

    FreeRTOS高級篇11---空閑任務分析

    當RTOS調度器開始工作后,為了保證至少有一個任務在運行,空閑任務被自動創建,占用最低優先級(0優先級)。
    發表于 01-26 17:30 ?0次下載
    <b class='flag-5'>FreeRTOS</b>高級篇11---<b class='flag-5'>空閑</b><b class='flag-5'>任務</b>分析

    FreeRTOS高級篇2---FreeRTOS任務創建分析

    FreeRTOS基礎系列《FreeRTOS系列第10篇---FreeRTOS任務創建和刪除》中介紹了任務創建API函數xTaskCreat
    發表于 01-26 17:42 ?23次下載
    <b class='flag-5'>FreeRTOS</b>高級篇2---<b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務</b>創建分析

    FreeRTOS系列第11篇---FreeRTOS任務控制

    FreeRTOS任務控制API函數主要實現任務延時、任務掛起、解除任務掛起、任務優先級獲取和設置
    發表于 01-26 17:54 ?12次下載
    <b class='flag-5'>FreeRTOS</b>系列第11篇---<b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務</b>控制

    FreeRTOS系列第10篇---FreeRTOS任務創建和刪除

    FreeRTOS移植到Cortex-M3硬件平臺的文章,我們已經見過任務創建API,但那篇文章的重點在于如何移植FreeRTOS,本文將重點放在
    發表于 01-26 17:56 ?13次下載
    <b class='flag-5'>FreeRTOS</b>系列第10篇---<b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務</b>創建和刪除

    freeRTOS任務

    freeRTOS系統的任務切換的具體過程最終都是在pendSV中斷服務函數里面完成的。
    的頭像 發表于 02-10 11:02 ?1533次閱讀
    <b class='flag-5'>freeRTOS</b>的<b class='flag-5'>任務</b>

    freeRTOS空閑任務的作用

    在嵌入式實時操作系統,都會有空閑任務的存在,這個任務是伴隨著操作系統啟動之后而存在的。正常情況來說,系統不掛掉,空閑
    的頭像 發表于 07-04 15:16 ?1441次閱讀
    <b class='flag-5'>freeRTOS</b>中<b class='flag-5'>空閑</b><b class='flag-5'>任務</b>的作用

    FreeRTOS空閑任務低功耗模式

    1、通用低功耗模式 如果使用通用低功耗模式的話每個滴答定時器中斷都會將處理器從低功耗模式喚醒,以(1)為例,再 T2 時刻處理器從低功耗模式喚醒,但是接下來由于沒有就緒的其他任務所以處理器又再
    的頭像 發表于 07-30 11:03 ?1178次閱讀

    FreeRTOS任務通知簡介

    任務通知簡介 任務通知在 FreeRTOS 是一個可選的功能,要使用任務通知的話就需要將宏configUSE_TASK_NOTIFICAT
    的頭像 發表于 07-30 11:34 ?721次閱讀