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

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

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

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

FreeRTOS中內(nèi)核控制函數(shù)

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

1、函數(shù) taskYIELD()

此函數(shù)用于進行任務(wù)切換,此函數(shù)本質(zhì)上是一個宏。

2、函數(shù) taskENTER_CRITICAL()

進入臨界區(qū),用于任務(wù)函數(shù)中,本質(zhì)上是一個宏。

3、函數(shù) taskEXIT_CRITICAL()

退出臨界區(qū),用于任務(wù)函數(shù)中,本質(zhì)上是一個宏。

4、函數(shù) taskENTER_CRITICAL_FROM_ISR()

進入臨界區(qū),用于中斷服務(wù)函數(shù)中,此函數(shù)本質(zhì)上是一個宏。

5、函數(shù) taskEXIT_CRITICAL_FROM_ISR()

退出臨界區(qū),用于中斷服務(wù)函數(shù)中,此函數(shù)本質(zhì)上是一個宏。

6、函數(shù) taskDISABLE_INTERRUPTS()

關(guān)閉可屏蔽的中斷,此函數(shù)本質(zhì)上是一個宏。

7、函數(shù) taskENABLE_INTERRUPTS()

打開可屏蔽的中斷,此函數(shù)本質(zhì)上是一個宏。

8、函數(shù) vTaskStartScheduler()

啟動任務(wù)調(diào)度器。

9、函數(shù) vTaskEndScheduler()

關(guān)閉任務(wù)調(diào)度器。

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

void

vTaskEndScheduler

(

void

)

{

portDISABLE_INTERRUPTS();

//關(guān)閉中斷

xSchedulerRunning=pdFALSE;

//標記任務(wù)調(diào)度器停止運行

vPortEndScheduler();

//調(diào)用硬件層關(guān)閉中斷的處理函數(shù)

}

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

void

vPortEndScheduler

(

void

)

{

configASSERT(uxCriticalNesting==

1000U

L);

}

10、函數(shù) vTaskSuspendAll()

掛起任務(wù)調(diào)度器,調(diào)用此函數(shù)不需要關(guān)閉可屏蔽中斷即可掛起任務(wù)調(diào)度器,此函數(shù)在文件tasks.c 中定義。

11、函數(shù) xTaskResumeAll()

此函數(shù)用于將任務(wù)調(diào)度器從掛起壯態(tài)恢復(fù)。

12、函數(shù) vTaskStepTick()

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

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

    關(guān)注

    5072

    文章

    19026

    瀏覽量

    303532
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    483

    瀏覽量

    62019
收藏 人收藏

    評論

    相關(guān)推薦

    Cortex-M內(nèi)核使用FreeRTOS特別注意事項

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

    FreeRTOS實時內(nèi)核使用指南-中文

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

    Zynq中使用FreeRTOS的空閑鉤子函數(shù)時在SDK的設(shè)置

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

    freertos使用指南與各類型函數(shù)詳細說明

    FreeRTOS 內(nèi)核支持優(yōu)先級調(diào)度算法,每個任務(wù)可根據(jù)重要程度的不同被賦予一定的優(yōu)先級,下面說明了各類函數(shù)的具體應(yīng)用,包括API函數(shù)從任務(wù)創(chuàng)建到聯(lián)合程序部分的具體過程演練步驟。
    發(fā)表于 11-18 02:08 ?9344次閱讀

    內(nèi)核使用FreeRTOS的特別注意事項有哪些?

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

    關(guān)于FreeRTOS內(nèi)核的配置說明

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

    FreeRTOS任務(wù)控制API函數(shù)介紹

    FreeRTOS任務(wù)控制API函數(shù)主要實現(xiàn)任務(wù)延時、任務(wù)掛起、解除任務(wù)掛起、任務(wù)優(yōu)先級獲取和設(shè)置等功能。 1. 相對延時 1.1 函數(shù)描述 void vTaskDelay
    的頭像 發(fā)表于 03-19 10:19 ?2260次閱讀

    FreeRTOS的API函數(shù)功能分析及調(diào)用方法

    FreeRTOS的API函數(shù)功能分析及調(diào)用方法說明。
    發(fā)表于 03-26 11:50 ?32次下載

    從0到1學(xué)習(xí)FreeRTOSFreeRTOS 內(nèi)核應(yīng)用開發(fā):(一)移植FreeRTOS到STM32第一部分

    從0到1學(xué)習(xí)FreeRTOSFreeRTOS 內(nèi)核應(yīng)用開發(fā):(一)移植FreeRTOS到STM32第一部分
    發(fā)表于 12-04 12:51 ?22次下載
    從0到1學(xué)習(xí)<b class='flag-5'>FreeRTOS</b>:<b class='flag-5'>FreeRTOS</b> <b class='flag-5'>內(nèi)核</b>應(yīng)用開發(fā):(一)移植<b class='flag-5'>FreeRTOS</b>到STM32第一部分

    FreeRTOS高級篇7---FreeRTOS內(nèi)存管理分析

    FreeRTOS操作系統(tǒng)將內(nèi)核與內(nèi)存管理分開實現(xiàn),操作系統(tǒng)內(nèi)核僅規(guī)定了必要的內(nèi)存管理函數(shù)原型,而不關(guān)心這些內(nèi)存管理函數(shù)是如何實現(xiàn)的。這...
    發(fā)表于 01-26 17:36 ?7次下載
    <b class='flag-5'>FreeRTOS</b>高級篇7---<b class='flag-5'>FreeRTOS</b>內(nèi)存管理分析

    FreeRTOS系列第13篇---FreeRTOS內(nèi)核控制

    內(nèi)核控制的一些功能需要移植層提供,為了方便移植,這些API函數(shù)用宏來實現(xiàn),比如上下文切換、進入和退出臨界區(qū)、禁止和使能可屏蔽中斷。...
    發(fā)表于 01-26 17:52 ?1次下載
    <b class='flag-5'>FreeRTOS</b>系列第13篇---<b class='flag-5'>FreeRTOS</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>控制</b>

    FreeRTOS系列第11篇---FreeRTOS任務(wù)控制

    FreeRTOS任務(wù)控制API函數(shù)主要實現(xiàn)任務(wù)延時、任務(wù)掛起、解除任務(wù)掛起、任務(wù)優(yōu)先級獲取和設(shè)置等功能。
    發(fā)表于 01-26 17:54 ?12次下載
    <b class='flag-5'>FreeRTOS</b>系列第11篇---<b class='flag-5'>FreeRTOS</b>任務(wù)<b class='flag-5'>控制</b>

    FreeRTOS系列第6篇---FreeRTOS內(nèi)核配置說明

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

    FreeRTOS內(nèi)核實現(xiàn)與應(yīng)用開發(fā)實戰(zhàn)指南

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

    ESP32模塊的FreeRTOS內(nèi)核分配

    Esp32 模塊已經(jīng)提供了 FreeRTOS(實時操作系統(tǒng))固件。FreeRTOS有助于提高系統(tǒng)性能和管理模塊的資源。FreeRTOS允許用戶處理多項任務(wù),如測量傳感器讀數(shù),發(fā)出網(wǎng)絡(luò)
    的頭像 發(fā)表于 05-18 16:25 ?1690次閱讀
    ESP32模塊的<b class='flag-5'>FreeRTOS</b><b class='flag-5'>內(nèi)核</b>分配