全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 控制/MCU >

瑞萨RA8 MCU开发教程:基于e2 studio在RA8上跑RTOS实现

时间:2025-04-02 18:16

人气:

作者:admin

标签: RTOS  FreeRTOS  瑞萨  RA8 

导读:今天教大家快速搭建FreeRTOS工程的方法。现在, 软件工具越来越“ 先进 ” 了,我们 搭建工程 只需要动动鼠标就能 搭建一个完整的工程,很多人说通过配置工具能更快入门RTOS。...

接前面分享的文章《瑞萨RA8系列教程 | 基于e2s实现RA8串口输出配置》,然后,我们今天教大家快速搭建FreeRTOS工程的方法。

早期,软件工具不那么成熟,搭建FreeRTOS工程都是需要一步一步手动移植。很多小伙伴吐槽,移植过程太繁琐。 而现在,软件工具越来越“先进”了,我们搭建工程只需要动动鼠标就能搭建一个完整的工程,很多人说通过配置工具能更快入门RTOS。

市面上这类(快速生成工程的)软件工具有很多,今天结合 e2studio 开发环境、RA8D1单片机给大家讲述快速搭建FreeRTOS工程,并创建GPIO(LED)+UART两个线程。

准备工作

开发RA8D1单片机需要提前安装好软件工具,还有准备好RA8板卡以及下载调试器。

01

下载安装集成开发环境

开发瑞萨RA8系列单片机的工具有很多,常见的主要是:

e2studio一站式服务工具

RASC + Keil,或RASC + IAR

如果觉得麻烦,还是推荐大家使用瑞萨官网的 e2studio 一站式服务工具。

02

准备硬件板卡

本教程就使用瑞萨CPKCOR_RA8D1B评估板,这块板卡集成了J-link,我们只需要用一根线连接电脑即可下载调试。

e2s快速搭建FreeRTOS工程

e2s和其他一些MCU厂商的“可视化配置工具”类似,只需要动动鼠标,就能快速创建FreeRTOS软件工程。

01

基于e2s快速创建FreeRTOS工程模板

打开e2s,文件 -> 新建 -> 瑞萨C/C++项目 -> Renesas RA:

wKgaoWcYtEWAGC_4AAFcz71tq2I678.png

输入工程名称,比如我们输入RA8D1_RTOS:

wKgZoWcYtEWAfSLpAAEeVDxHqAw079.png

选择单片机型号,比如R7FA8D1BHEC:

wKgaoWcYtEWAOKp4AAHj6By3g8c440.png

选择TrustZone项目工程:

wKgZoWcYtEWABxdSAANf-GsJlQY999.png

选择FreeRTOS:

wKgZO2ftDySAYYDzAAFtd1HSvhI700.png

选择【FreeRTOS - Minimal - Static Allocation】,然后点击完成,一个FreeRTOS 项目模板就创建好了。

wKgZPGftDySAe41pAAFJ3ZDQ3kk934.png

02

配置FreeRTOS

点击【Stacks】,然后再点击【New Thread】创建新线程:

wKgZPGftDySALnH1AAFyauvCMgM487.png

然后,选中【New Thread】 -> 属性,重命名为【GPIO_Thread】

wKgZO2ftDySAG_-4AAJAnZz7CCo440.png

wKgZPGftDyWAf08XAAIZXn4tC-w747.png

同样的方法,我们再新建一个【UART_Thread】线程:

wKgZO2ftDyWAFfy2AAIvCpHkx4w360.png

点击【Generate Project Content】,就可以看到生成了两个源代码文件,此时,FreeRTOS两个线程就生成好了。

03

线程增加应用代码

我们这里创建了GPIO+UART两个简单的线程,关于GPIO和UART底层的配置,大家可以参看我前面分享的教程:瑞萨RA8系列教程 | 瑞萨RA8开发环境搭建,并点亮一个LED瑞萨RA8系列教程 | 基于e2s实现RA8串口输出配置 我们这里GPIO(LED)线程应用代码,LED闪烁:

voidGPIO_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线程应用代码,间隔1秒打印Cnt计数值:
voidUART_Thread_entry(void*pvParameters)
{
 uint8_tCnt =0;


 FSP_PARAMETER_NOT_USED(pvParameters);
 Debug_UART4_Init();// SCI4 UART 调试串口初始化
 printf("Start...
");


 while(1)
  {
   vTaskDelay(500);
    Cnt++;
   printf("Cnt = %d
", Cnt);
  }
}

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信