加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

學(xué)RTOS,手動(dòng)移植還是工具配置?

05/29 12:10
1578
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

微信公眾號(hào)?| strongerHuang

我們今天教大家快速搭建FreeRTOS工程的方法。

早期,軟件工具不那么成熟,搭建FreeRTOS工程都是需要一步一步手動(dòng)移植。很多小伙伴吐槽,移植過(guò)程太繁瑣。

而現(xiàn)在,軟件工具越來(lái)越“先進(jìn)”了,我們搭建工程只需要?jiǎng)觿?dòng)鼠標(biāo)就能搭建一個(gè)完整的工程,很多人說(shuō)通過(guò)配置工具能更快入門RTOS。

市面上這類(快速生成工程的)軟件工具有很多,今天結(jié)合 e2 studio 開發(fā)環(huán)境、RA8D1單片機(jī)給大家講述快速搭建FreeRTOS工程,并創(chuàng)建GPIO(LED)+UART兩個(gè)線程。

準(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介紹、下載、安裝與注冊(cè)? ? ??2、準(zhǔn)備硬件板卡本教程就使用瑞薩CPKCOR_RA8D1B評(píng)估板,這塊板卡集成了J-link,我們只需要用一根線連接電腦即可下載調(diào)試。

e2s快速搭建FreeRTOS工程

e2s和其他一些MCU廠商的“可視化配置工具”類似,只需要?jiǎng)觿?dòng)鼠標(biāo),就能快速創(chuàng)建FreeRTOS軟件工程。

1、基于e2s快速創(chuàng)建FreeRTOS工程模板

打開e2s,文件 -> 新建?-> 瑞薩C/C++項(xiàng)目?-> Renesas RA:

輸入工程名稱,比如我們輸入RA8D1_RTOS:

選擇單片機(jī)型號(hào),比如R7FA8D1BHEC:

選擇TrustZone項(xiàng)目工程:

選擇FreeRTOS:

選擇【FreeRTOS - Minimal - Static Allocation】,然后點(diǎn)擊完成,一個(gè)FreeRTOS 項(xiàng)目模板就創(chuàng)建好了。

2、配置FreeRTOS

點(diǎn)擊【Stacks】,然后再點(diǎn)擊【New Thread】創(chuàng)建新線程:

然后,選中【New Thread】 -> 屬性,重命名為【GPIO_Thread】

同樣的方法,我們?cè)傩陆ㄒ粋€(gè)【UART_Thread】線程:

點(diǎn)擊【Generate Project Content】,就可以看到生成了兩個(gè)源代碼文件,此時(shí),F(xiàn)reeRTOS兩個(gè)線程就生成好了。

3、線程增加應(yīng)用代碼

我們這里創(chuàng)建了GPIO+UART兩個(gè)簡(jiǎn)單的線程,關(guān)于GPIO和UART底層的配置,大家可以參看我前面分享的教程:瑞薩RA8系列教程 | 基于e2s實(shí)現(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);// 延時(shí)500ms
        R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_10_PIN_01, BSP_IO_LEVEL_HIGH);        vTaskDelay (500);// 延時(shí)500ms    }}

UART線程應(yīng)用代碼,間隔1秒打印Cnt計(jì)數(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);    }}

 

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
74HC594DB,118 1 Nexperia 74HC594; 74HCT594 - 8-bit shift register with output register@en-us SSOP1 16-Pin

ECAD模型

下載ECAD模型
$2.57 查看
NC7WZ04P6X 1 Rochester Electronics LLC LVC/LCX/Z SERIES, DUAL 1-INPUT INVERT GATE, PDSO6, 1.25 MM, ROHS COMPLIANT, EIAJ, SC-88, SC-70, 6 PIN
$0.33 查看
DLT1040ST1 1 Agilent Technologies Inc Fiber Optic Emitter, Through Hole Mount
暫無(wú)數(shù)據(jù) 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

作者黃工,從事嵌入式軟件開發(fā)工作8年有余,高級(jí)嵌入式軟件工程師,業(yè)余維護(hù)公眾號(hào)『strongerHuang』,分享嵌入式軟硬件、單片機(jī)、物聯(lián)網(wǎng)等內(nèi)容。