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

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

3天內不再提示

RA FreeRTOS任務創建

RA生態工作室 ? 2023-07-12 10:00 ? 次閱讀

隨著嵌入式應用程序變得越來越復雜,單片機裸機開發已經無法滿足工程師對于復雜程序的需求。于是具有多任務調度和實時響應特性的RTOS便越來越受工程師們青睞。瑞薩RA系列MCU兼容FreeRTOS系統,開發環境e2studio完美支持FreeRTOS,無需額外手動移植。以下介紹如何用瑞薩e2studio創建RA系列MCU的FreeRTOS工程。

對于不熟悉瑞薩的FSP開發環境的工程師們,此文章能夠很好幫助大家了解RA系列的FreeRTOS并快速創建FreeRTOS工程,詳細步驟如下:

1

創建工程

按正常步驟創建RA工程時,選擇FreeRTOS。

wKgaomWbUwiAPo6BAADhTTa7yRo667.png

2

FreeRTOS的FSP配置

22.1 在Stack中創建任務,并命名為Task1和Task2,內存管理默認為靜態內存分配。

wKgaomWbUz6ART83AAJGcqnfnt8087.png

22.2 FreeRTOS通用項Common設置簡單說明。

注: 多個任務時,所有任務公用Common的設置。如task1和task2,在task1頁面設置完Common后,無需再在task2頁面設置。

2.2.1 Common->General:

wKgaomWbU2yAW0GrAAGDFdRaNRc069.png

2.2.2 Common -> Memory Allocation, Optional Functions:

內存分配:如果選擇了動態內存管理,則需Enable Support Dynamic Allocation,同時在New Stack –> RTOS中添加heap x(1~5),FreeRTOS在創建任務、信號量、隊列等時候會使用heap_x.c中的內存申請函數來申請內存。這些內存就是從Total Heap Size中申請的。

API函數:可enable或disable相應的FreeRTOS API函數。

wKgZomWbU32ALe9EAAGpuzSQR9o346.png

22.3 任務中添加外設、隊列、信號量等

wKgZomWbU5yANA1zAAES5RTLUBY073.png

22.4 配置好定時器后,點Generate Project Content生產底層代碼。

本例程實現簡單的LED燈閃爍,定時器0和定時器1的周期分別配置為300ms和800ms。定時器和LED管腳的配置方法,就不在此做詳細說明了。

3

FreeRTOS底層代碼介紹

33.1 代碼生成,文件夾目錄如下

wKgaomWbU7-AGTkgAAEB1Fy16h0783.png

33.2 用戶無需手動調用API函數創建任務,FSP生成的main函數里會分別調用task1_create()和task2_create()創建任務,創建完成后執行vTaskStartScheduler ()啟動任務調度。

wKgZomWbU9KANMo6AAEv_I89iSI247.png

33.3 在任務中task1_entry.c和task2_entry.c添加用戶初始化和應用代碼。

帶FreeRTOS的工程里,生成的main函數里不會調用hal_entry.c,而是直接創建任務后,執行任務切換,進入任務函數task1_entry.c和task2_entry.c。

wKgZomWbU9-AWEbPAAL_DbeRGiU941.png

1

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

    關注

    6008

    文章

    44087

    瀏覽量

    623105
  • RA
    RA
    +關注

    關注

    0

    文章

    17

    瀏覽量

    24598
  • FreeRTOS
    +關注

    關注

    12

    文章

    474

    瀏覽量

    61463
收藏 人收藏

    評論

    相關推薦

    FreeRTOS介紹與基礎任務創建

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

    轉:freeRTOS任務創建

    我們曾經在公眾號里給大家推送過關于freeRTOS在NXP kinetis KV4x上的移植,得到了猿友大量的反饋,很多猿友還是感覺對基礎的一些東西不懂,今天我們就從基礎的任務創建講起,任務
    發表于 07-14 14:18

    STM32CUBE的freertos任務創建

    目錄問題說明解決步驟驗證方案總結問題說明STM32CUBE的freertos任務創建十分簡單方便,但卻有一個麻煩:需要我們把要跑的任務具體代碼都寫進
    發表于 08-24 08:26

    FreeRTOS任務創建過程

    FreeRTOS筆記(四):任務創建/刪除,掛起/解掛詳解在第二篇筆記中介紹了任務創建的API,并且簡單使用了相關API,本文將詳細介紹
    發表于 02-08 06:10

    FreeRTOS創建任務的流程分享

    從零入門 FreeRTOS 操作系統之創建任務啟動方式在 main() 函數中將硬件和 RTOS 系統先初始化好,然后創建一個啟動任務后就啟
    發表于 02-11 06:59

    FreeRTOS任務的使用

    FreeRTOS學習筆記(二):任務創建/刪除,掛起/解掛上篇文章介紹了任務相關的基礎知識,本篇文章對FreeRTOS
    發表于 02-18 07:14

    FreeRTOS任務如何創建和刪除?

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

    FreeRTOS筆記(四):任務創建/刪除,掛起/解掛詳解

    FreeRTOS筆記(四):任務創建/刪除,掛起/解掛詳解在第二篇筆記中介紹了任務創建的API,并且簡單使用了相關API,本文將詳細介紹
    發表于 12-04 19:36 ?15次下載
    <b class='flag-5'>FreeRTOS</b>筆記(四):<b class='flag-5'>任務</b><b class='flag-5'>創建</b>/刪除,掛起/解掛詳解

    從零入門 FreeRTOS 操作系統之創建任務流程

    從零入門 FreeRTOS 操作系統之創建任務啟動方式在 main() 函數中將硬件和 RTOS 系統先初始化好,然后創建一個啟動任務后就啟
    發表于 12-07 18:36 ?7次下載
    從零入門 <b class='flag-5'>FreeRTOS</b> 操作系統之<b class='flag-5'>創建</b><b class='flag-5'>任務</b>流程

    #FreeRTOS學習筆記(二):任務創建/刪除,掛起/解掛

    FreeRTOS學習筆記(二):任務創建/刪除,掛起/解掛上篇文章介紹了任務相關的基礎知識,本篇文章對FreeRTOS
    發表于 12-23 19:56 ?2次下載
    #<b class='flag-5'>FreeRTOS</b>學習筆記(二):<b class='flag-5'>任務</b><b class='flag-5'>創建</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><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><b class='flag-5'>創建</b>和刪除

    如何使用CPK-RA2L1/CPK-RA2E1板創建基于FreeRTOS的CapTouch觸摸按鍵demo工程

    ,對RA2L1/RA2E1 MCU群組的特性進行無縫評估,并對嵌入系統應用程序進行開發。用戶可利用豐富的板載功能以及自選的熱門生態系統插件來將豐富創意變為現實。 創建基于FreeRTOS
    的頭像 發表于 11-22 12:20 ?1202次閱讀

    FreeRTOS任務創建與刪除

    FreeRTOS 中,每個執行線程都被稱為”任務”。在嵌入式社區中,對此并沒有一個公允的術語,但我更喜歡用”任務”而不是”線程”,因為從以前的經驗來看,線程具有更多的特定含義。
    的頭像 發表于 02-10 14:43 ?994次閱讀

    RA FreeRTOS任務創建

    隨著嵌入式應用程序變得越來越復雜,單片機裸機開發已經無法滿足工程師對于復雜程序的需求。于是具有多任務調度和實時響應特性的RTOS便越來越受工程師們青睞。瑞薩RA系列MCU兼容FreeRTOS系統
    的頭像 發表于 03-10 14:35 ?1012次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>