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

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

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

3天內不再提示

FreeRTOS任務與協程介紹

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

FreeRTOS 中應用既可以使用任務,也可以使用協程(Co-Routine),或者兩者混合使用。但是任務和協程使用不同的API函數,因此不能通過隊列(或信號量)將數據從任務發送給協程,反之亦然。

協程是為那些資源很少的 MCU 準備的,其開銷很小,但是 FreeRTOS 官方已經不打算再更新協程了。

任務特性:

1、簡單。

2、沒有使用限制。

3、支持搶占

4、支持優先級

5、每個任務都擁有堆棧導致了 RAM 使用量增大。

6、如果使用搶占的話的必須仔細的考慮重入的問題。

協程(Co-routine)的特性

協程是為那些資源很少的 MCU 而做的,但是隨著 MCU 的飛速發展,性能越來越強大,現在協程幾乎很少用到了!但是 FreeRTOS 目前還沒有把協程移除的計劃,但是 FreeRTOS 是絕對不會再更新和維護協程了,因此協程大家了解一下就行了。在概念上協程和任務是相似的,但是有如下根本上的不同:

1、堆棧使用:所有的協程使用同一個堆棧(如果是任務的話每個任務都有自己的堆棧),這樣就比使用任務消耗更少的 RAM。

2、調度器和優先級:協程使用合作式的調度器,但是可以在使用搶占式的調度器中使用協程。

3、宏實現:協程是通過宏定義來實現的。

4、使用限制:為了降低對 RAM 的消耗做了很多的限制。

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

    關注

    5068

    文章

    19014

    瀏覽量

    303231
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1367

    瀏覽量

    114527
  • FreeRTOS
    +關注

    關注

    12

    文章

    483

    瀏覽量

    62000
  • 任務
    +關注

    關注

    1

    文章

    20

    瀏覽量

    8532
收藏 人收藏

    評論

    相關推薦

    FreeRTOS介紹與基礎任務創建

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

    談談的那些事兒

    隨著異步編程的發展以及各種并發框架的普及,作為一種異步編程規范在各類語言中地位逐步提高。我們不單單會在自己的程序中使用,各類框架如fastapi,aiohttp等也都是基于異步
    的頭像 發表于 01-26 11:36 ?1089次閱讀
    談談<b class='flag-5'>協</b><b class='flag-5'>程</b>的那些事兒

    【轉載】AT32 FreeRTOS應用筆記

    ................................. 32FreeRTOS 任務相關函數 ..........................32例介紹
    發表于 08-16 11:56

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

    ---------FreeRTOS是一個迷你的實時操作系統內核。作為一個輕量級的操作系統,功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能、軟件定時器、等,可基本
    發表于 08-09 07:27

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

    ).FreeRTOS是一個迷你的實時操作系統內核。作為一個輕量級的操作系統,功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能、軟件定時器、等,可基本滿足較小系統的
    發表于 01-17 07:10

    什么是多任務系統?FreeRTOS任務簡析

    功能,初學者必須先掌握——任務的創建、刪除、掛起和恢復等操作。本章節分為如下幾部分:*什么是多任務系統*FreeRTOS任務
    發表于 02-18 06:38

    什么是FreeRTOS?怎樣去移植FreeRTOS

    FreeRTOSFreeRTOS是一個迷你的實時操作系統內核。作為一個輕量級的操作系統,功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能、軟件定時器、
    發表于 02-23 07:12

    Python后端項目的是什么

    最近公司 Python 后端項目進行重構,整個后端邏輯基本都變更為采用“異步”的方式實現。看著滿屏幕經過 async await(在 Python 中的實現)修飾的代碼,我頓時
    的頭像 發表于 09-23 14:38 ?1306次閱讀

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

    功能,初學者必須先掌握——任務的創建、刪除、掛起和恢復等操作。本章節分為如下幾部分:*什么是多任務系統*FreeRTOS任務
    發表于 12-23 19:57 ?3次下載
    (一)<b class='flag-5'>FreeRTOS</b>學習之<b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務</b>基礎知識

    FreeRTOS入門學

    ).FreeRTOS是一個迷你的實時操作系統內核。作為一個輕量級的操作系統,功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能、軟件定時器、等,可基本滿足較小系統的
    發表于 01-17 11:12 ?19次下載
    <b class='flag-5'>FreeRTOS</b>入門學

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

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

    FreeRTOS任務和協簡介及實現

    簡單來說,FreeRTOS實時系統能夠創建多個獨立的任務任務之間互不干擾。任務創建之后并不是一起運行的,而是通過優先級順序進行任務的調用,
    的頭像 發表于 12-06 16:33 ?3007次閱讀
    <b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務</b>和協<b class='flag-5'>程</b>簡介及實現

    的概念及的掛起函數介紹

    是一種輕量級的線程,它可以在單個線程中實現并發執行。與線程不同,不需要操作系統的上下文切換,因此可以更高效地使用系統資源。Kotlin
    的頭像 發表于 04-19 10:20 ?868次閱讀

    Kotlin實戰進階之筑基篇3

    。 Android 中的每個應用都會運行一個主線程,它主要是用來處理 UI,如果主線程上需要處理的任務太多,應用就感覺被卡主一樣影響用戶體驗,得讓那些耗時的任務不阻塞主線程的運行。要做到處理網絡請求不會阻塞主線程,一個常用的做法就是使用回調,另一種是使用
    的頭像 發表于 05-30 16:26 ?668次閱讀

    Linux線程、線程與異步編程、與異步介紹

    線程之間的切換不需要陷入內核,但部分操作系統中用戶態線程的切換需要內核態線程的輔助。 是編程語言(或者 lib)提供的特性(程之間的切換方式與過程可以由編程人員確定),是用戶態操作。
    的頭像 發表于 11-11 11:35 ?1046次閱讀
    Linux線程、線程與異步編程、<b class='flag-5'>協</b><b class='flag-5'>程</b>與異步<b class='flag-5'>介紹</b>