0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何創(chuàng)建FreeRTOS項目

CHANBAEK ? 來源:凌云物聯(lián)網(wǎng)實(shí)驗(yàn)室 ? 作者:郭工 ? 2022-12-19 09:23 ? 次閱讀

在該章節(jié)中,我們將介紹如何創(chuàng)建FreeRTOS項目,并創(chuàng)建兩個線程:一個線程將讓Led每隔600ms閃爍一次,另外一個線程則讓串口每隔1.5s輸出一個打印。

10.1 創(chuàng)建FreeRTOS項目

在e2studio上點(diǎn)擊 File -> C/C++ Project 創(chuàng)建 Renesas RA C/C++ Project 。 接下來設(shè)置我們的項目名為 MyBoard 。

圖片

在接下來的配置中,我們定制開發(fā)我們的開發(fā)板,Board選擇“Custom User Board (Any Device) ”,Device選擇"R7FA6M4AF3CFB",以及燒錄調(diào)試器的類型。下一步我們就選擇 Flat (Non-TrustZone) Project 。

圖片

接下來的操作系統(tǒng)類型,選擇 FreeRTOS (v10.4.6+fsp.4.1.0) 。

圖片

項目模板選擇 Bare Metal -Minimal

圖片

接下來,創(chuàng)建好的項目如下圖所示。

圖片

10.2 配置Led和串口硬件

接下來我們打開項目中的FSP配置文件,配置三個Led燈的引腳為GPIO模式,并分別配置它們的別名為LedRed(P400)、LedGreen(P404)、LedBlue(P415)。

圖片

  • 通過 Symbolic Name 字段可以修改該GPIO的名稱為 LedRed,它將在IDE自動生成的文件 ra_cfg/fsp_cfg/bsp/bsp_pin_cfg.h 中定義;
  • 通過 Mode 字段可以修改GPIO口的工作模式,它們將在IDE自動生成的文件 ra_gen/pin_data.c 中定義;

然后再配置使能外部晶振,并重新生成代碼。

圖片

接下來我們打開項目中的FSP配置文件,配置使能相應(yīng)串口的Pin功能,并重新生成代碼。

圖片

接下來我們選擇 Stacks , 點(diǎn)擊 "New Stack" -> "Connectivity" -> "UART(r_sci_uart)" 添加串口通信功能協(xié)議棧,并使用其默認(rèn)配置即可。

圖片

10.3 FreeRTOS添加線程

如下圖所示,單擊窗格頂部的 “New Thread 按鈕,添加兩個線程分別命名為 thread_led 和 thread_uart ,其它的保持默認(rèn)配置即可,并重新生成代碼。

圖片

10.4 修改FreeRTOS源碼

修改 src/thread_led_entry.c 源文件,代碼如下。

#include "thread_led.h"

/* Led Thread entry function */
/* pvParameters contains TaskHandle_t */
void thread_led_entry(void *pvParameters)
{
    FSP_PARAMETER_NOT_USED (pvParameters);

    R_BSP_PinAccessEnable(); /* Enable access to the PFS registers. */

    /* TODO: add your own code here */
    while (1)
    {
        R_BSP_PinWrite(LedBlue, BSP_IO_LEVEL_HIGH);
        vTaskDelay (300);
        R_BSP_PinWrite(LedBlue, BSP_IO_LEVEL_LOW);
        vTaskDelay (300);
    }
}

修改 src/thread_uart_entry.c 源文件,代碼如下。

#include "thread_uart.h"

#define HELLO_MSG  "FreeRTOS is running on EK-RA6M4 Board!
"

/* UART Thread entry function */
/* pvParameters contains TaskHandle_t */
void thread_uart_entry(void *pvParameters)
{
    FSP_PARAMETER_NOT_USED (pvParameters);

    R_SCI_UART_Open(&g_uart0_ctrl, &g_uart0_cfg);

    /* TODO: add your own code here */
    while (1)
    {
        R_SCI_UART_Write(&g_uart0_ctrl, (uint8_t *)HELLO_MSG, strlen(HELLO_MSG));
        vTaskDelay (1500);
    }
}

10.5 編譯運(yùn)行FreeRTOS

接下來編譯項目源碼并運(yùn)行,這時候?qū)创粋€線程將讓藍(lán)色Led每隔600ms閃爍一次,另外一個線程則讓串口每隔1.5s打印如下信息。

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23534

    瀏覽量

    667115
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    660

    瀏覽量

    29899
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    484

    瀏覽量

    63102
收藏 0人收藏

    評論

    相關(guān)推薦

    freeRTOS開發(fā)筆記】關(guān)注創(chuàng)建任務(wù)時傳入優(yōu)先級數(shù)值問題

    freeRTOS開發(fā)筆記】關(guān)注創(chuàng)建任務(wù)時傳入的優(yōu)先級數(shù)值問題
    的頭像 發(fā)表于 07-11 09:13 ?2897次閱讀
    【<b class='flag-5'>freeRTOS</b>開發(fā)筆記】關(guān)注<b class='flag-5'>創(chuàng)建</b>任務(wù)時傳入優(yōu)先級數(shù)值問題

    FreeRTOS介紹與基礎(chǔ)任務(wù)創(chuàng)建

    本篇介紹FreeRTOS與基礎(chǔ)任務(wù)創(chuàng)建
    的頭像 發(fā)表于 09-26 09:00 ?2655次閱讀
    <b class='flag-5'>FreeRTOS</b>介紹與基礎(chǔ)任務(wù)<b class='flag-5'>創(chuàng)建</b>

    FreeRTOS創(chuàng)建消息隊列問題如何解決

    剛開始學(xué)習(xí)FreeRTOS,用的是STM32F103RCT6,目前創(chuàng)建了三個任務(wù),運(yùn)行指示燈、按鍵、顯示。其中顯示任務(wù)里是暫時還沒有具體的代碼,按鍵任務(wù)準(zhǔn)備使用隊列傳遞按鍵值。現(xiàn)在的問題是這樣
    發(fā)表于 07-19 08:03

    如何使用Visual Studio Code進(jìn)行FreeRTOS開發(fā)

    Code作為FreeRTOS項目的開發(fā)環(huán)境,介紹需要安裝的擴(kuò)展功能,及環(huán)境配置的相關(guān)選項。如果你還沒有使用過VS Code,可以訪問VS Code網(wǎng)站(https
    發(fā)表于 02-23 16:58

    STM32CUBE的freertos的任務(wù)創(chuàng)建

    目錄問題說明解決步驟驗(yàn)證方案總結(jié)問題說明STM32CUBE的freertos的任務(wù)創(chuàng)建十分簡單方便,但卻有一個麻煩:需要我們把要跑的任務(wù)具體代碼都寫進(jìn)freertos.c的文件里面,對于在對應(yīng)文件
    發(fā)表于 08-24 08:26

    FreeRTOS的任務(wù)創(chuàng)建過程

    FreeRTOS筆記(四):任務(wù)創(chuàng)建/刪除,掛起/解掛詳解在第二篇筆記中介紹了任務(wù)創(chuàng)建的API,并且簡單使用了相關(guān)API,本文將詳細(xì)介紹任務(wù)創(chuàng)建的過程。一、任務(wù)
    發(fā)表于 02-08 06:10

    FreeRTOS創(chuàng)建任務(wù)的流程分享

    從零入門 FreeRTOS 操作系統(tǒng)之創(chuàng)建任務(wù)啟動方式在 main() 函數(shù)中將硬件和 RTOS 系統(tǒng)先初始化好,然后創(chuàng)建一個啟動任務(wù)后就啟動調(diào)度器,然后在啟動任務(wù)里面創(chuàng)建各種應(yīng)用任務(wù)
    發(fā)表于 02-11 06:59

    如何為S32K311或S32K310創(chuàng)建一個freertos演示?

    我已經(jīng)安裝了 freertos 包,如何為 S32K311 或 S32K310 創(chuàng)建一個 freertos 演示 我現(xiàn)在找不到 freertos
    發(fā)表于 04-25 07:44

    FreeRTOS任務(wù)如何創(chuàng)建和刪除?

    FreeRTOS移植到Cortex-M3硬件平臺的文章中,我們已經(jīng)見過任務(wù)創(chuàng)建API,但那篇文章的重點(diǎn)在于如何移植FreeRTOS,本文將重點(diǎn)放在任務(wù)的創(chuàng)建和刪除API函數(shù)上面。 任
    的頭像 發(fā)表于 03-11 18:08 ?3070次閱讀

    FreeRTOS筆記(四):任務(wù)創(chuàng)建/刪除,掛起/解掛詳解

    FreeRTOS筆記(四):任務(wù)創(chuàng)建/刪除,掛起/解掛詳解在第二篇筆記中介紹了任務(wù)創(chuàng)建的API,并且簡單使用了相關(guān)API,本文將詳細(xì)介紹任務(wù)創(chuàng)建的過程。一、任務(wù)
    發(fā)表于 12-04 19:36 ?15次下載
    <b class='flag-5'>FreeRTOS</b>筆記(四):任務(wù)<b class='flag-5'>創(chuàng)建</b>/刪除,掛起/解掛詳解

    #FreeRTOS學(xué)習(xí)筆記(二):任務(wù)創(chuàng)建/刪除,掛起/解掛

    FreeRTOS學(xué)習(xí)筆記(二):任務(wù)創(chuàng)建/刪除,掛起/解掛上篇文章介紹了任務(wù)相關(guān)的基礎(chǔ)知識,本篇文章對FreeRTOS任務(wù)的使用,將會介紹任務(wù)創(chuàng)建、刪除、掛起以及恢復(fù)的API。一、任務(wù)
    發(fā)表于 12-23 19:56 ?2次下載
    #<b class='flag-5'>FreeRTOS</b>學(xué)習(xí)筆記(二):任務(wù)<b class='flag-5'>創(chuàng)建</b>/刪除,掛起/解掛

    FreeRTOS高級篇2---FreeRTOS任務(wù)創(chuàng)建分析

    FreeRTOS基礎(chǔ)系列《FreeRTOS系列第10篇---FreeRTOS任務(wù)創(chuàng)建和刪除》中介紹了任務(wù)創(chuàng)建API函數(shù)xTaskCreat
    發(fā)表于 01-26 17:42 ?23次下載
    <b class='flag-5'>FreeRTOS</b>高級篇2---<b class='flag-5'>FreeRTOS</b>任務(wù)<b class='flag-5'>創(chuàng)建</b>分析

    FreeRTOS系列第10篇---FreeRTOS任務(wù)創(chuàng)建和刪除

    FreeRTOS移植到Cortex-M3硬件平臺的文章中,我們已經(jīng)見過任務(wù)創(chuàng)建API,但那篇文章的重點(diǎn)在于如何移植FreeRTOS,本文將重點(diǎn)放在任務(wù)的...
    發(fā)表于 01-26 17:56 ?13次下載
    <b class='flag-5'>FreeRTOS</b>系列第10篇---<b class='flag-5'>FreeRTOS</b>任務(wù)<b class='flag-5'>創(chuàng)建</b>和刪除

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

    ,開發(fā)環(huán)境e 2 studio完美支持FreeRTOS,無需額外手動移植。以下介紹如何用瑞薩e 2 studio創(chuàng)建RA系列MCU的FreeRTOS工程。 對于不熟悉瑞薩的FSP開發(fā)環(huán)境的工程師們,此文
    的頭像 發(fā)表于 03-10 14:35 ?1423次閱讀

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

    ,開發(fā)環(huán)境e2 studio完美支持FreeRTOS,無需額外手動移植。以下介紹如何用瑞薩e2 studio創(chuàng)建RA系列MCU的FreeRTOS工程。
    的頭像 發(fā)表于 07-12 10:00 ?848次閱讀
    RA <b class='flag-5'>FreeRTOS</b>任務(wù)<b class='flag-5'>創(chuàng)建</b>

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品