0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RA FreeRTOS任务创建

瑞萨嵌入式小百科 来源:未知 2023-03-10 14:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着嵌入式应用程序变得越来越复杂,单片机裸机开发已经无法满足工程师对于复杂程序的需求。于是具有多任务调度和实时响应特性的RTOS便越来越受工程师们青睐。瑞萨RA系列MCU兼容FreeRTOS系统,开发环境e2 studio完美支持FreeRTOS,无需额外手动移植。以下介绍如何用瑞萨e2 studio创建RA系列MCU的FreeRTOS工程。

对于不熟悉瑞萨的FSP开发环境的工程师们,此文章能够很好帮助大家了解RA系列的FreeRTOS并快速创建FreeRTOS工程,详细步骤如下:

1

创建工程

按正常步骤创建RA工程时,选择FreeRTOS。

3786ec58-bf0d-11ed-bfe3-dac502259ad0.png

2

FreeRTOS的FSP配置

2.1

在Stack中创建任务,并命名为Task1和Task2,内存管理默认为静态内存分配。

38a03b30-bf0d-11ed-bfe3-dac502259ad0.png

2.2

FreeRTOS通用项Common设置简单说明。

注: 多个任务时,所有任务公用Common的设置。如task1和task2,在task1页面设置完Common后,无需再在task2页面设置。

2.2.1 Common->General:

38c2251a-bf0d-11ed-bfe3-dac502259ad0.png

2.2.2 Common -> Memory Allocation, Optional Functions:

内存分配:如果选择了动态内存管理,则需Enable Support Dynamic Allocation,同时在New Stack –> RTOS中添加heap x(1~5),FreeRTOS在创建任务、信号量、队列等时候会使用heap_x.c中的内存申请函数来申请内存。这些内存就是从Total Heap Size中申请的。

API函数:可enable或disable相应的FreeRTOS API函数。

38f9dc62-bf0d-11ed-bfe3-dac502259ad0.png

2.3

任务中添加外设、队列、信号量等

391ebe4c-bf0d-11ed-bfe3-dac502259ad0.png

2.4

配置好定时器后,点Generate Project Content生产底层代码。

本例程实现简单的LED灯闪烁,定时器0和定时器1的周期分别配置为300ms和800ms。定时器和LED管脚的配置方法,就不在此做详细说明了。

3

FreeRTOS底层代码介绍

3.1

代码生成,文件夹目录如下

39516766-bf0d-11ed-bfe3-dac502259ad0.png

3.2

用户无需手动调用API函数创建任务,FSP生成的main函数里会分别调用task1_create()和task2_create()创建任务,创建完成后执行vTaskStartScheduler ()启动任务调度。

396ffaa0-bf0d-11ed-bfe3-dac502259ad0.png

3.3

在任务中task1_entry.c和task2_entry.c添加用户初始化和应用代码。

带FreeRTOS的工程里,生成的main函数里不会调用hal_entry.c,而是直接创建任务后,执行任务切换,进入任务函数task1_entry.c和task2_entry.c。

3998a7e8-bf0d-11ed-bfe3-dac502259ad0.png

更多内容欢迎查看:

39bddd38-bf0d-11ed-bfe3-dac502259ad0.png

1

END

1


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    19110

    浏览量

    403230
  • 瑞萨
    +关注

    关注

    38

    文章

    22516

    浏览量

    91164
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RA-Eco-RA4M2开发板评测】+ FreeRTOS任务初探

    1 生成FreeRTOS的工程 1.1 使用RA Smart工具建立自己的工程 1.1.1 打开RA Smart Configurator 1.1.2 输入工程名称及路径 1.1.3 选择芯片型号
    发表于 04-19 12:30

    如何在 i.MX8QM 上将 FlexCAN 与 FreeRTOS 任务(信号量或任务通知)一起使用?

    FreeRTOS 任务(信号量或任务通知)一起使用? 这是我的主要程序。 https://pastebin.com/brhxqc1w
    发表于 04-16 06:31

    Freertos 任务视图显示运行时值,但配置后百分比错误,为什么?

    我们使用的是 MCUXpresso 25.6.136、FreeRTOS 11.0.1 和 SDK_2.x_MCXA156 25.06.00。我们调整了以下教程来配置 FreeRTOS 的运行时统计
    发表于 04-03 07:12

    【瑞萨FPB-RA6E2试用】【瑞萨RA × Zephyr开发板评测】+线程创建及测试

    ,并通过KEIL来编译和下载。 在创建时,与不使用操作系统的区别是由选取“No RTOS”,改为选取“FreeRTOS”。 随后,为观察效果可选取生成Blinky模式。 在进入RASC后,在栈中需添加
    发表于 02-03 21:33

    【瑞萨FPB-RA6E2试用】环境配置及基础任务代码示例

    【瑞萨RA × Zephyr开发板评测】 开发板基础功能测试与代码移植 本报告两篇开发内容主要以入门级的外设为标准进行测试,在入门级测试需求上加入常规任务进行测试体验。 开发内容1: 关于GPIO
    发表于 01-24 20:47

    FreeRTOS 空闲任务

    FreeRTOS 中很多人会注意到为什么有一个叫IDLE task的任务占用了CPU百分之九十多的使用权,但是这个任务并没有自己手动创建。原因就是这个空闲
    发表于 12-04 07:35

    freertos关闭任务调度的方法

    #include \"FreeRTOS.h\" #include \"task.h\" /* 关闭任务调度 */ void
    发表于 11-17 06:47

    FreeRTOS任务调度及优先级问题

    大家好,最近本人在学习FreeRTOS ,之前有过一些裸机开发的经验,目前知道了FreeRTOS任务是基于时间片轮转来调度,也就是知道了任务会基于各个时间片来运行。 于是联想了如果有
    发表于 11-06 02:18

    RA4E2开发板评测】电压检测器 FreeRTOS显示量程0-3300 mV

    rasc创建RA4E2开发板的FreeRTOS工程。 作者加入了[亚马逊],之后推出的产品为Amazon FreeRTOS 本次实验要使用FreeR
    发表于 08-27 16:26

    RA-Eco-RA6M4开发板评测】2、移植FreeRTOS_CLI和添加自定义指令

    FreeRTOS提供多种软件组件为用户提供不同的功能,这里介绍如何移植其中的FreeRTOS-CLI命令行工具到RA6M4开发板上。 1、工程配置 参考下面的帖子中创建工程的过程,初始
    发表于 07-23 11:34

    RA4L1-SENSOR】电压检测器第一个程序增加 FreeRTOS显示量程0-3300 mV和量程0-15000mV]

    创建RA4L1-SENSOR开发板的FreeRTOS工程。 FreeRTOS 是作者 Richard Barry 于 2003 年推出的系统。作者加入了[亚马逊],之后推出的产品为Am
    发表于 07-11 10:53

    RA4L1-SENSOR】4、移植FreeRTOS-CLI

    FreeRTOS提供有不同的组件为用户提供不同的功能,本文移植其中的FreeRTOS-CLI命令行工具到RA4L1-Sensor开发板上。 1、工程配置 参考下面的帖子中创建工程的过程
    发表于 06-26 22:30

    RA4L1-SENSOR】04 用FreeRTOS重构工程

    ,是目前市场占有率最高的 RTOS。 3. 软件部分 3.1 创建工程 创建工程的详细过程就参考我之前写的RA4L1的实验1,主要是这里RTOS选择FreeRTOS v11.1.0+f
    发表于 06-16 22:28

    详解FreeRTOS与SAFERTOS的区别

    开源免费的FreeRTOS由Richard Barry在WHIS工作时创建,WHIS基于FreeRTOS的功能模型,通过完整的HAZOP分析,确定了功能模型和API中的所有的弱点,减轻所有薄弱环节,并采用IEC 61508 SI
    的头像 发表于 06-04 16:58 1123次阅读
    详解<b class='flag-5'>FreeRTOS</b>与SAFERTOS的区别

    RA-Eco-RA4M2开发板评测】RA-Eco-RA4M2 移植FreeRTOS

    1 前言 基于瑞萨的MCU移植FreeRTOS很简单,只需简单配置即可生成FreeRTOS的工程。笔者这里使用Renesas RA Smart Configurator和Keil5开发。 2 新建
    发表于 05-03 23:24