微信公眾號?| strongerHuang
我們今天教大家快速搭建FreeRTOS工程的方法。
早期,軟件工具不那么成熟,搭建FreeRTOS工程都是需要一步一步手動移植。很多小伙伴吐槽,移植過程太繁瑣。
而現(xiàn)在,軟件工具越來越“先進(jìn)”了,我們搭建工程只需要動動鼠標(biāo)就能搭建一個完整的工程,很多人說通過配置工具能更快入門RTOS。
市面上這類(快速生成工程的)軟件工具有很多,今天結(jié)合 e2 studio 開發(fā)環(huán)境、RA8D1單片機(jī)給大家講述快速搭建FreeRTOS工程,并創(chuàng)建GPIO(LED)+UART兩個線程。
準(zhǔn)備工作
開發(fā)RA8D1單片機(jī)需要提前安裝好軟件工具,還有準(zhǔn)備好RA8板卡以及下載調(diào)試器。
1、下載安裝集成開發(fā)環(huán)境
開發(fā)瑞薩RA8系列單片機(jī)的工具有很多,常見的主要是:
- e2 studio一站式服務(wù)工具RASC + Keil,或RASC + IAR
如果覺得麻煩,還是推薦大家使用瑞薩官網(wǎng)的 e2 studio 一站式服務(wù)工具。
這里大家可以參看我之前分享的文章:瑞薩RA8系列教程 | 瑞薩 RA8 開發(fā)環(huán)境e2s搭建Keil系列教程_Keil介紹、下載、安裝與注冊? ? ??2、準(zhǔn)備硬件板卡本教程就使用瑞薩CPKCOR_RA8D1B評估板,這塊板卡集成了J-link,我們只需要用一根線連接電腦即可下載調(diào)試。
e2s快速搭建FreeRTOS工程
e2s和其他一些MCU廠商的“可視化配置工具”類似,只需要動動鼠標(biāo),就能快速創(chuàng)建FreeRTOS軟件工程。
1、基于e2s快速創(chuàng)建FreeRTOS工程模板
打開e2s,文件 -> 新建?-> 瑞薩C/C++項目?-> Renesas RA:
輸入工程名稱,比如我們輸入RA8D1_RTOS:
選擇單片機(jī)型號,比如R7FA8D1BHEC:
選擇TrustZone項目工程:
選擇FreeRTOS:
選擇【FreeRTOS - Minimal - Static Allocation】,然后點擊完成,一個FreeRTOS 項目模板就創(chuàng)建好了。
2、配置FreeRTOS
點擊【Stacks】,然后再點擊【New Thread】創(chuàng)建新線程:
然后,選中【New Thread】 -> 屬性,重命名為【GPIO_Thread】
同樣的方法,我們再新建一個【UART_Thread】線程:
點擊【Generate Project Content】,就可以看到生成了兩個源代碼文件,此時,F(xiàn)reeRTOS兩個線程就生成好了。
3、線程增加應(yīng)用代碼
我們這里創(chuàng)建了GPIO+UART兩個簡單的線程,關(guān)于GPIO和UART底層的配置,大家可以參看我前面分享的教程:瑞薩RA8系列教程 | 基于e2s實現(xiàn)RA8串口輸出配置
我們這里GPIO(LED)線程應(yīng)用代碼,LED閃爍:
void GPIO_Thread_entry(void *pvParameters)
{
FSP_PARAMETER_NOT_USED (pvParameters);
/* TODO: add your own code here */
while (1)
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_10_PIN_01, BSP_IO_LEVEL_LOW);
vTaskDelay (500);// 延時500ms
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_10_PIN_01, BSP_IO_LEVEL_HIGH);
vTaskDelay (500);// 延時500ms
}
}
UART線程應(yīng)用代碼,間隔1秒打印Cnt計數(shù)值:
void UART_Thread_entry(void *pvParameters)
{
uint8_t Cnt = 0;
FSP_PARAMETER_NOT_USED (pvParameters);
Debug_UART4_Init(); // SCI4 UART 調(diào)試串口初始化
printf("Start...rn");
while (1)
{
????????vTaskDelay?(500);
Cnt++;
printf("Cnt = %drn", Cnt);
}
}