RM新时代网站-首页

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

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

3天內不再提示

RA FreeRTOS任務創(chuàng)建

RA生態(tài)工作室 ? 2023-07-12 10:00 ? 次閱讀

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

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

1

創(chuàng)建工程

按正常步驟創(chuàng)建RA工程時,選擇FreeRTOS。

wKgaomWbUwiAPo6BAADhTTa7yRo667.png

2

FreeRTOS的FSP配置

22.1 在Stack中創(chuàng)建任務,并命名為Task1和Task2,內存管理默認為靜態(tài)內存分配。

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:

內存分配:如果選擇了動態(tài)內存管理,則需Enable Support Dynamic Allocation,同時在New Stack –> RTOS中添加heap x(1~5),FreeRTOS在創(chuàng)建任務、信號量、隊列等時候會使用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函數創(chuàng)建任務,FSP生成的main函數里會分別調用task1_create()和task2_create()創(chuàng)建任務,創(chuàng)建完成后執(zhí)行vTaskStartScheduler ()啟動任務調度。

wKgZomWbU9KANMo6AAEv_I89iSI247.png

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

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

wKgZomWbU9-AWEbPAAL_DbeRGiU941.png

1

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

    關注

    6035

    文章

    44554

    瀏覽量

    634614
  • RA
    RA
    +關注

    關注

    0

    文章

    19

    瀏覽量

    24675
  • FreeRTOS
    +關注

    關注

    12

    文章

    484

    瀏覽量

    62138
收藏 人收藏

    評論

    相關推薦

    freeRTOS開發(fā)筆記】關注創(chuàng)建任務時傳入優(yōu)先級數值問題

    freeRTOS開發(fā)筆記】關注創(chuàng)建任務時傳入的優(yōu)先級數值問題
    的頭像 發(fā)表于 07-11 09:13 ?2766次閱讀
    【<b class='flag-5'>freeRTOS</b>開發(fā)筆記】關注<b class='flag-5'>創(chuàng)建</b><b class='flag-5'>任務</b>時傳入優(yōu)先級數值問題

    FreeRTOS介紹與基礎任務創(chuàng)建

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

    FreeRTOS中的任務管理

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

    轉:freeRTOS任務創(chuàng)建

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

    STM32CUBE的freertos任務創(chuàng)建

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

    FreeRTOS任務創(chuàng)建過程

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

    FreeRTOS創(chuàng)建任務的流程分享

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

    FreeRTOS任務如何創(chuàng)建和刪除?

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

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

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

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

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

    FreeRTOS高級篇2---FreeRTOS任務創(chuàng)建分析

    FreeRTOS基礎系列《FreeRTOS系列第10篇---FreeRTOS任務創(chuàng)建和刪除》中介紹了
    發(fā)表于 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'>創(chuàng)建</b>分析

    FreeRTOS系列第10篇---FreeRTOS任務創(chuàng)建和刪除

    FreeRTOS移植到Cortex-M3硬件平臺的文章中,我們已經見過任務創(chuàng)建API,但那篇文章的重點在于如何移植FreeRTOS,本文將重點放在
    發(fā)表于 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'>創(chuàng)建</b>和刪除

    FreeRTOS任務句柄

    摘要:學過用過FreeRTOS的人都知道,在創(chuàng)建任務時候我們都要定義一個任務句柄,這個任務句柄有啥含義?書上的解釋是
    的頭像 發(fā)表于 04-13 08:18 ?2709次閱讀

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

    ,對RA2L1/RA2E1 MCU群組的特性進行無縫評估,并對嵌入系統(tǒng)應用程序進行開發(fā)。用戶可利用豐富的板載功能以及自選的熱門生態(tài)系統(tǒng)插件來將豐富創(chuàng)意變?yōu)楝F實。 創(chuàng)建基于FreeRTOS
    的頭像 發(fā)表于 11-22 12:20 ?1511次閱讀

    RA FreeRTOS任務創(chuàng)建

    隨著嵌入式應用程序變得越來越復雜,單片機裸機開發(fā)已經無法滿足工程師對于復雜程序的需求。于是具有多任務調度和實時響應特性的RTOS便越來越受工程師們青睞。瑞薩RA系列MCU兼容FreeRTOS系統(tǒng)
    的頭像 發(fā)表于 03-10 14:35 ?1291次閱讀
    RM新时代网站-首页