隨著嵌入式應(yīng)用程序變得越來(lái)越復(fù)雜,單片機(jī)裸機(jī)開(kāi)發(fā)已經(jīng)無(wú)法滿(mǎn)足工程師對(duì)于復(fù)雜程序的需求。于是具有多任務(wù)調(diào)度和實(shí)時(shí)響應(yīng)特性的RTOS便越來(lái)越受工程師們青睞。瑞薩RA系列MCU兼容FreeRTOS系統(tǒng),開(kāi)發(fā)環(huán)境e2 studio完美支持FreeRTOS,無(wú)需額外手動(dòng)移植。以下介紹如何用瑞薩e2 studio創(chuàng)建RA系列MCU的FreeRTOS工程。
對(duì)于不熟悉瑞薩的FSP開(kāi)發(fā)環(huán)境的工程師們,此文章能夠很好幫助大家了解RA系列的FreeRTOS并快速創(chuàng)建FreeRTOS工程,詳細(xì)步驟如下:
1
創(chuàng)建工程
按正常步驟創(chuàng)建RA工程時(shí),選擇FreeRTOS。
2
FreeRTOS的FSP配置
2.1
在Stack中創(chuàng)建任務(wù),并命名為T(mén)ask1和Task2,內(nèi)存管理默認(rèn)為靜態(tài)內(nèi)存分配。
2.2
FreeRTOS通用項(xiàng)Common設(shè)置簡(jiǎn)單說(shuō)明。
注: 多個(gè)任務(wù)時(shí),所有任務(wù)公用Common的設(shè)置。如task1和task2,在task1頁(yè)面設(shè)置完Common后,無(wú)需再在task2頁(yè)面設(shè)置。
2.2.1 Common->General:
2.2.2 Common -> Memory Allocation, Optional Functions:
內(nèi)存分配:如果選擇了動(dòng)態(tài)內(nèi)存管理,則需Enable Support Dynamic Allocation,同時(shí)在New Stack –> RTOS中添加heap x(1~5),F(xiàn)reeRTOS在創(chuàng)建任務(wù)、信號(hào)量、隊(duì)列等時(shí)候會(huì)使用heap_x.c中的內(nèi)存申請(qǐng)函數(shù)來(lái)申請(qǐng)內(nèi)存。這些內(nèi)存就是從Total Heap Size中申請(qǐng)的。
API函數(shù):可enable或disable相應(yīng)的FreeRTOS API函數(shù)。
2.3
任務(wù)中添加外設(shè)、隊(duì)列、信號(hào)量等
2.4
配置好定時(shí)器后,點(diǎn)Generate Project Content生產(chǎn)底層代碼。
本例程實(shí)現(xiàn)簡(jiǎn)單的LED燈閃爍,定時(shí)器0和定時(shí)器1的周期分別配置為300ms和800ms。定時(shí)器和LED管腳的配置方法,就不在此做詳細(xì)說(shuō)明了。
3
FreeRTOS底層代碼介紹
3.1
代碼生成,文件夾目錄如下
3.2
用戶(hù)無(wú)需手動(dòng)調(diào)用API函數(shù)創(chuàng)建任務(wù),F(xiàn)SP生成的main函數(shù)里會(huì)分別調(diào)用task1_create()和task2_create()創(chuàng)建任務(wù),創(chuàng)建完成后執(zhí)行vTaskStartScheduler ()啟動(dòng)任務(wù)調(diào)度。
3.3
在任務(wù)中task1_entry.c和task2_entry.c添加用戶(hù)初始化和應(yīng)用代碼。
帶FreeRTOS的工程里,生成的main函數(shù)里不會(huì)調(diào)用hal_entry.c,而是直接創(chuàng)建任務(wù)后,執(zhí)行任務(wù)切換,進(jìn)入任務(wù)函數(shù)task1_entry.c和task2_entry.c。
更多內(nèi)容歡迎查看:
1
END
1
-
mcu
+關(guān)注
關(guān)注
146文章
17148瀏覽量
351186 -
瑞薩
+關(guān)注
關(guān)注
35文章
22309瀏覽量
86305
原文標(biāo)題:RA FreeRTOS任務(wù)創(chuàng)建
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論