在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

FreeRTOS中內核控制函數

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

1、函數 taskYIELD()

此函數用于進行任務切換,此函數本質上是一個宏。

2、函數 taskENTER_CRITICAL()

進入臨界區,用于任務函數中,本質上是一個宏。

3、函數 taskEXIT_CRITICAL()

退出臨界區,用于任務函數中,本質上是一個宏。

4、函數 taskENTER_CRITICAL_FROM_ISR()

進入臨界區,用于中斷服務函數中,此函數本質上是一個宏。

5、函數 taskEXIT_CRITICAL_FROM_ISR()

退出臨界區,用于中斷服務函數中,此函數本質上是一個宏。

6、函數 taskDISABLE_INTERRUPTS()

關閉可屏蔽的中斷,此函數本質上是一個宏。

7、函數 taskENABLE_INTERRUPTS()

打開可屏蔽的中斷,此函數本質上是一個宏。

8、函數 vTaskStartScheduler()

啟動任務調度器。

9、函數 vTaskEndScheduler()

關閉任務調度器。

此函數僅用于 X86 架構的處理器,調用此函數以后所有系統時鐘就會停止運行,所有創建的任務都會自動的刪除掉(FreeRTOS 對此函數的解釋是會自動刪除所有的任務,但是在 FreeRTOS 的源碼中沒有找到相關的處理過程,有可能要根據實際情況編寫相關代碼,亦或是 X86 的硬件會自動處理?筆者不了解 X86 架構),多任務性能關閉。可以調用函數vTaskStartScheduler()來重新開啟任務調度器。此函數在文件 tasks.c 中有如下定義:

void

vTaskEndScheduler

(

void

)

{

portDISABLE_INTERRUPTS();

//關閉中斷

xSchedulerRunning=pdFALSE;

//標記任務調度器停止運行

vPortEndScheduler();

//調用硬件層關閉中斷的處理函數

}

函數 vPortEndScheduler()在 port.c 中有定義,這個函數在移植 FreeRTOS 的時候要根據實際使用的處理器來編寫,此處沒有實現這個函數,只是簡單的加了一行斷言,函數如下:

void

vPortEndScheduler

(

void

)

{

configASSERT(uxCriticalNesting==

1000U

L);

}

10、函數 vTaskSuspendAll()

掛起任務調度器,調用此函數不需要關閉可屏蔽中斷即可掛起任務調度器,此函數在文件tasks.c 中定義。

11、函數 xTaskResumeAll()

此函數用于將任務調度器從掛起壯態恢復。

12、函數 vTaskStepTick()

此 函 數 在 使 用 FreeRTOS 的 低 功 耗 tickless 模 式 的 時 候 會 用 到 , 即 宏 configUSE_TICKLESS_IDLE 為 1。當使能低功耗 tickless 模式以后在執行空閑任務的時候系統時鐘節拍中斷就會停止運行,系統時鐘中斷停止運行的這段時間必須得補上,這個工作就是由 函數 vTaskStepTick()來完成的,此函數在文件 tasks.c 中定義。

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

    關注

    5096

    文章

    19189

    瀏覽量

    308022
  • FreeRTOS
    +關注

    關注

    12

    文章

    484

    瀏覽量

    62420
收藏 人收藏

    評論

    相關推薦

    Cortex-M內核使用FreeRTOS特別注意事項

    本文來自CSDN博客FreeRTOS基礎篇,本篇主要分享Cortex-M內核使用FreeRTOS特別注意事項。
    發表于 09-19 15:01 ?886次閱讀
    Cortex-M<b class='flag-5'>內核</b>使用<b class='flag-5'>FreeRTOS</b>特別注意事項

    FreeRTOS實時內核使用指南-中文

    FreeRTOS實時內核使用指南-中文版,Using the FreeRTOS Real Time Kernel - A Practical Guide的中文版本
    發表于 07-13 15:11 ?123次下載

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

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

    freertos使用指南與各類型函數詳細說明

    FreeRTOS 內核支持優先級調度算法,每個任務可根據重要程度的不同被賦予一定的優先級,下面說明了各類函數的具體應用,包括API函數從任務創建到聯合程序部分的具體過程演練步驟。
    發表于 11-18 02:08 ?9454次閱讀

    內核使用FreeRTOS的特別注意事項有哪些?

    在閱讀本文之前,有兩個定義在FreeRTOSConfig.h的宏,你必須先明白它們是什么意思,《FreeRTOS內核配置說明》一文,講解了這兩個宏
    的頭像 發表于 02-01 10:21 ?2706次閱讀
    <b class='flag-5'>內核</b>使用<b class='flag-5'>FreeRTOS</b>的特別注意事項有哪些?

    關于FreeRTOS內核的配置說明

    是針對用戶程序的,而非內核,因此配置文件一般放在應用程序目錄下,不要放在RTOS內核源碼目錄下。 在下載的FreeRTOS文件包,每個演示例程都有一個FreeRTOSConfig.h
    的頭像 發表于 02-01 10:37 ?2727次閱讀

    FreeRTOS任務控制API函數介紹

    FreeRTOS任務控制API函數主要實現任務延時、任務掛起、解除任務掛起、任務優先級獲取和設置等功能。 1. 相對延時 1.1 函數描述 void vTaskDelay
    的頭像 發表于 03-19 10:19 ?2350次閱讀

    FreeRTOS的API函數功能分析及調用方法

    FreeRTOS的API函數功能分析及調用方法說明。
    發表于 03-26 11:50 ?33次下載

    從0到1學習FreeRTOSFreeRTOS 內核應用開發:(一)移植FreeRTOS到STM32第一部分

    從0到1學習FreeRTOSFreeRTOS 內核應用開發:(一)移植FreeRTOS到STM32第一部分
    發表于 12-04 12:51 ?22次下載
    從0到1學習<b class='flag-5'>FreeRTOS</b>:<b class='flag-5'>FreeRTOS</b> <b class='flag-5'>內核</b>應用開發:(一)移植<b class='flag-5'>FreeRTOS</b>到STM32第一部分

    FreeRTOS高級篇7---FreeRTOS內存管理分析

    FreeRTOS操作系統將內核與內存管理分開實現,操作系統內核僅規定了必要的內存管理函數原型,而不關心這些內存管理函數是如何實現的。這...
    發表于 01-26 17:36 ?8次下載
    <b class='flag-5'>FreeRTOS</b>高級篇7---<b class='flag-5'>FreeRTOS</b>內存管理分析

    FreeRTOS系列第13篇---FreeRTOS內核控制

    內核控制的一些功能需要移植層提供,為了方便移植,這些API函數用宏來實現,比如上下文切換、進入和退出臨界區、禁止和使能可屏蔽中斷。...
    發表于 01-26 17:52 ?1次下載
    <b class='flag-5'>FreeRTOS</b>系列第13篇---<b class='flag-5'>FreeRTOS</b><b class='flag-5'>內核</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系列第6篇---FreeRTOS內核配置說明

    FreeRTOS內核是高度可定制的,使用配置文件FreeRTOSConfig.h進行定制。每個FreeRTOS應用都必須包含這個頭文件,用戶根據實際應用來裁剪...
    發表于 01-26 17:57 ?15次下載
    <b class='flag-5'>FreeRTOS</b>系列第6篇---<b class='flag-5'>FreeRTOS</b><b class='flag-5'>內核</b>配置說明

    FreeRTOS內核實現與應用開發實戰指南

    本書是首本系統講解 FreeRTOS 的中文書籍,共分為兩個部分,第一部分為“從 0 到 1教你寫 FreeRTOS 內核”,即重點講解 FreeRTOS 的原理實現,從 0 開始,不
    發表于 05-24 16:26 ?246次下載

    ESP32模塊的FreeRTOS內核分配

    Esp32 模塊已經提供了 FreeRTOS(實時操作系統)固件。FreeRTOS有助于提高系統性能和管理模塊的資源。FreeRTOS允許用戶處理多項任務,如測量傳感器讀數,發出網絡
    的頭像 發表于 05-18 16:25 ?1857次閱讀
    ESP32模塊的<b class='flag-5'>FreeRTOS</b><b class='flag-5'>內核</b>分配
    主站蜘蛛池模板: 色老头永久免费网站 | 一级特黄a大片免费 | 搜索黄色录像 | 欧美人与动性视频在线观 | 国产一区二区三区 韩国女主播 | 亚洲男人的天堂久久无 | 午夜一级黄色片 | 欧美成人性色 | 狠狠色噜噜狠狠狠狠999米奇 | 中国一级特黄高清免费的大片 | 日韩免费一级片 | 九九黄色网 | 毛茸茸成熟妇女亚洲人 | 韩国三级理在线视频观看 | 中文字幕一二三区乱码老 | 久热操| 五月香婷婷 | 午夜人成 | 国产香蕉75在线播放 | 永久免费精品视频 | 午夜片 飘香香影院 | 欧美精品综合一区二区三区 | 5g成人影院 | 夜夜春宵翁熄性放纵30 | 成 人色 网 站 欧美大片在线观看 | 午夜爽爽性刺激一区二区视频 | 国产yin乱大巴视频 国产爱v | 欧美三级不卡在线观线看高清 | 孩交精品xxxx视频视频 | free性欧美video | 亭亭色| 天天视频免费入口 | 第四色男人天堂 | 一级特黄aaa大片大全 | 中文天堂在线最新版在线www | 99久久婷婷国产综合精品电影 | 亚洲欧美一区二区久久香蕉 | 亚洲偷图色综合色就色 | 免费黄色大片网站 | 国产亚洲欧洲人人网 | 天天躁夜夜躁狠狠躁2024 |