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

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

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

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

微信公眾號?| 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);    }}

 

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
AD73311ARSZ 1 Analog Devices Inc Single-Channel, 3 V and 5 V Front-End Processor for General Purpose Applications Including Speech and Telephony

ECAD模型

下載ECAD模型
$10.72 查看
ABM10-16.000MHZ-D30-T3 1 Abracon Corporation CRYSTAL 16.0000MHZ 10PF SMD

ECAD模型

下載ECAD模型
$1.49 查看
FTLX1475D3BTL 1 Finisar Corporation Transceiver,

ECAD模型

下載ECAD模型
$884.02 查看

相關(guān)推薦

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

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