隨著嵌入式應(yīng)用程序變得越來越復(fù)雜,單片機(jī)裸機(jī)開發(fā)已經(jīng)無法滿足工程師對于復(fù)雜程序的需求。于是具有多任務(wù)調(diào)度和實時響應(yīng)特性的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工程,詳細(xì)步驟如下:
1
創(chuàng)建工程
按正常步驟創(chuàng)建RA工程時,選擇FreeRTOS。

2
FreeRTOS的FSP配置
22.1 在Stack中創(chuàng)建任務(wù),并命名為Task1和Task2,內(nèi)存管理默認(rèn)為靜態(tài)內(nèi)存分配。

22.2 FreeRTOS通用項Common設(shè)置簡單說明。
注: 多個任務(wù)時,所有任務(wù)公用Common的設(shè)置。如task1和task2,在task1頁面設(shè)置完Common后,無需再在task2頁面設(shè)置。
2.2.1 Common->General:

2.2.2 Common -> Memory Allocation, Optional Functions:
內(nèi)存分配:如果選擇了動態(tài)內(nèi)存管理,則需Enable Support Dynamic Allocation,同時在New Stack –> RTOS中添加heap x(1~5),F(xiàn)reeRTOS在創(chuàng)建任務(wù)、信號量、隊列等時候會使用heap_x.c中的內(nèi)存申請函數(shù)來申請內(nèi)存。這些內(nèi)存就是從Total Heap Size中申請的。
API函數(shù):可enable或disable相應(yīng)的FreeRTOS API函數(shù)。

22.3 任務(wù)中添加外設(shè)、隊列、信號量等

22.4 配置好定時器后,點Generate Project Content生產(chǎn)底層代碼。
本例程實現(xiàn)簡單的LED燈閃爍,定時器0和定時器1的周期分別配置為300ms和800ms。定時器和LED管腳的配置方法,就不在此做詳細(xì)說明了。
3
FreeRTOS底層代碼介紹
33.1 代碼生成,文件夾目錄如下

33.2 用戶無需手動調(diào)用API函數(shù)創(chuàng)建任務(wù),F(xiàn)SP生成的main函數(shù)里會分別調(diào)用task1_create()和task2_create()創(chuàng)建任務(wù),創(chuàng)建完成后執(zhí)行vTaskStartScheduler ()啟動任務(wù)調(diào)度。

33.3 在任務(wù)中task1_entry.c和task2_entry.c添加用戶初始化和應(yīng)用代碼。
帶FreeRTOS的工程里,生成的main函數(shù)里不會調(diào)用hal_entry.c,而是直接創(chuàng)建任務(wù)后,執(zhí)行任務(wù)切換,進(jìn)入任務(wù)函數(shù)task1_entry.c和task2_entry.c。

1
-
單片機(jī)
+關(guān)注
關(guān)注
6074文章
45368瀏覽量
664632 -
RA
+關(guān)注
關(guān)注
0文章
26瀏覽量
25232 -
FreeRTOS
+關(guān)注
關(guān)注
14文章
497瀏覽量
66416
發(fā)布評論請先 登錄
【freeRTOS開發(fā)筆記】關(guān)注創(chuàng)建任務(wù)時傳入優(yōu)先級數(shù)值問題
FreeRTOS中的任務(wù)管理
轉(zhuǎn):freeRTOS任務(wù)創(chuàng)建
STM32CUBE的freertos的任務(wù)創(chuàng)建
FreeRTOS的任務(wù)創(chuàng)建過程
FreeRTOS創(chuàng)建任務(wù)的流程分享
FreeRTOS任務(wù)如何創(chuàng)建和刪除?
FreeRTOS筆記(四):任務(wù)創(chuàng)建/刪除,掛起/解掛詳解
#FreeRTOS學(xué)習(xí)筆記(二):任務(wù)創(chuàng)建/刪除,掛起/解掛
FreeRTOS高級篇2---FreeRTOS任務(wù)創(chuàng)建分析
FreeRTOS系列第10篇---FreeRTOS任務(wù)創(chuàng)建和刪除

RA FreeRTOS任務(wù)創(chuàng)建
評論