STM32下完成一个基于FreeRTOS的多任务程序

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

一、 FreeRTOS简介

FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。FreeRTOS-百度百科
FreeRTOS是一款 “开源免费”的实时操作系统,遵循的是GPLv2+的许可协议。

二、 MDK下移植FreeRTOS

2.1 资料获取

FreeRTOS的源码和相应的官方书籍均可从官网FreeRTOS获得。
本实践源码版本是v9.0.0。
百度网盘:FreeRTOSv9.0.0提取码:yv8r

MemMang:里面存放的是FreeRTOS自带的内存管理方案的源文件
FreeRTOS的源码核心部分tasks.clist.c

2.2资料整理并导入STM32工程中

具体步骤请参考FreeRTOS移植到STM32F103步骤与注意事项

PS:其中有IAR和MDK版,请在导入工程时仔细看清要求。
下面我将按照上面博客进行再次配置文件。

  1. 整理文件
    在这里插入图片描述
    按照以上博客删除到如上目录树即可。
  2. 在正点原子提供的串口实验库函数的源代码基础上进行添加FreeRTOS工程。如下:

在这里插入图片描述

FreeRTOS\tasks.c
FreeRTOS\list.c
FreeRTOS\portable\Keil\ARM_CM3\port.c
FreeRTOS\portable\MemMang\heap_4.c
具体导入就是以上文件。

  1. 添加头文件
    在这里插入图片描述
    在这里插入图片描述
  2. 定义系统底层相关的函数
    对startup_stm32f10x.hd.s进行以下更改
    在这里插入图片描述

用英文 ; 进行相关注释。

  1. 修改stm32f10x_it.c文件
    在这里插入图片描述

由于FreeRTOS对这几个中断的名称做了自己的定义,因此必须要重定义这几个函数才能正常进入中断,但这么做又会跟ST提供的stm32f10x_it.c文件当中定义的中断相冲突,因此必须将stm32f10x

基于FreeRTOSSTM32多任务程序 基于FreeRTOSSTM32多任务程序一、材料准备二、 FreeRTOS移植FreeRTOS是什么FreeRTOS移植到STM32上(MDK开发环境)1.下载FreeRTOS源代码2.前期准备3.手动移植RreeRTOS程序的编写运行结果三、心得与参考总结参考 一、材料准备 STM32指南者开发板(包括USB串口转换线、所需软件及驱动) 二、 FreeRTOS移植 FreeRTOS是什么 我们看一下FreeRTOS的名字,可以分为两部分:Free和RTOS, Free 就是免费的、自由的、不受约束的意 阅读详情

相关推荐

FreeRTOS小项目实战------基于FreeRTOSstm32的门禁系统

freertos小项目--基于stm32freertos的门禁系统

hbzdsXCV的博客 4万+

基于STM32的开源手表设计——应用FreeRTOS实现

应用FreeRTOS,制作STM32的小手表,任务调度的方式较裸机逻辑上更简单,可扩展性也更高

m0_59201432的博客 3万+

STM32FreeRTOS项目

FreeRTOS中的调度器是确保任务能够高效、有序执行的关键组件。通过提供抢占式调度和时间片轮转调度等策略,FreeRTOS能够满足不同实时系统的需求。同时,调度器的实现也涉及多个方面,需要仔细设计和实现以确保系统的稳定性和可靠性。FreeRTOS采用基于优先级的调度策略,支持可剥夺型内核。优先级高的任务一旦就绪就能剥夺优先级较低任务的CPU使用权,从而提高了系统的实时响应能力。对于相同优先级的任务,FreeRTOS支持轮换调度算法,确保任务能够轮流执FreeRTOS动态任务的创建与删除是通过调用和。

m0_58974528的博客 5039

STM32CubeIDE开发(二十九), 如何结合FreeRTOS开发STM32程序

cubeIDE开发, 如何结合FreeRTOS开发STM32程序,本文详细描述在cubeMX中开启FreeRTOS支持及配置FreeRTOS一个闪灯任务,并如何处理遇到的告警问题,并在cubeIDE编辑器中撰写一个闪灯任务代码及调用实现。

技术需要分享 5558

STM32完成一个基于FreeRTOS多任务程序

一、下载并整理FreeRTOS源码 下载压缩包 解压 打开解压后的文件夹 打开FreeRTOS–Source–portable文件夹 再打开RVDS文件夹把里面的ARM_CM3文件夹复制到keil文件夹里面 把多余文件夹删掉只留下如下图所示三个文件夹 到此为止源码就整理好了 二、IAR下移植FreeRTOS ...

啰啰的博客 244

STM32完成基于FreeRTOS多任务程序

STM32完成一个基于FreeRTOS多任务程序 一、目的 在STM32完成一个基于FreeRTOS多任务程序,执行3个周期性task,具体任务不限,但建议如下: task1,每间隔500ms闪烁(变化)一次LED; task2,每间隔2000ms,向串口发送一次指令数据“helloworld!"; task3,每间隔5000ms,从AHT20采集一次温湿度数据(不考虑硬件情况,仅写出整个多任务框架模拟代码)。 二、准备工作 1、ST-link下载线、野火MINIstm32开发板 2、keil5

mricl的博客 757

stm32指南者完成基于FreeRTOS多任务程序

文章目录一、FreeRTOS一、了解FreeRTOS二、移植FreeRTOS1提取FreeRTOS最简源码2拷贝FreeRTOSConfig.h文件到user文件夹3添加FreeRTOS源码到工程分组,创建FreeRTOS/src和FreeRTOS/port4指定FreeRTOS头文件的路径5修改FreeRTOSConfig.h二、在STM32完成一个基于FreeRTOS多任务程序三参考资料 一、FreeRTOS 一、了解FreeRTOS 什么是FreeRTOS? Free 即免费的,RTOS 全

weixin_45888898的博客 940

FreeRTOS入门——STM32完成一个基于FreeRTOS多任务程序

文章目录一、 什么是FreeRTOS二、裸机系统与多任务系统1、裸机系统2、多任务系统3、系统之间的对比三、实验要求四、实验准备五、在KEIL新建 FreeRTOS 工程1、新建本地工程文件夹2、使用 KEIL 新建工程3、在 KEIL 工程里面新建文件组4、在 KEIL 工程里面添加文件六、移植FreeRTOSSTM321、获取 STM32 的裸机工程模板2、下载 FreeRTOS V9.0.0 源码3、往裸机工程添加 FreeRTOS 源码4、添加 FreeRTOS 源码到工程组文件夹七、实现多任务

weixin_51087836的博客 1819

STM32完成基于FreeRTOS多任务程序

一、了解FreeRTOS RTOS Real Time Operating System 实时操作系统。 FreeRTOS FreeRTOS 是一款 “开源免费”的实时操作系统,遵循的是 GPLv2+的许可协议。 FreeRTOS的编程风格 ①FreeRTOS 的数据类型 对标准 C 的数据类型进行了重定义。 详细内容如下: 新定义的数据类型 实际的数据类型 说明 portCHAR char 字符型 ortSHORT short 短整型 ortLONG long 长整型 ortT

Harriet的博客 1169

STM32完成基于FreeRTOS多任务程序

目录一、任务要求二、FreeRTOS移植1、简单介绍2、应用实例 一、任务要求 在STM32完成一个基于FreeRTOS多任务程序,执行3个周期性task。 task1,每间隔500ms闪烁(变化)一次LED; task2,每间隔2000ms,向串口发送一次指令数据“helloworld!"; task3,每间隔5000ms,从AHT20采集一次温湿度数据 二、FreeRTOS移植 1、简单介绍 RTOS(Real Time Operating System 实时操作系统。 FreeRTOS是其中应用最

yibohuixi的博客 529

FreeRTOS原理,在STM32完成一个基于FreeRTOS多任务程序

一、学习FreeROTS 1.Free 即免费的,RTOS 全称是 Real Time Operating System,中文就是实时操作系统。注意,RTOS 不是指某一个确定的系统,而是指一类系统。比如 uC/OS,FreeRTOS,RTX,RT-Thread 等这些都是 RTOS 类操作系统。 2.操作系统允许多个任务同时运行,这个叫做多任务。实际上,一个处理器核心在某一时刻只能运行一个任务。操作系统中任务调度器的责任就是决定在某一时刻究竟运行哪个任务。任务调度在各个任务之间的切换非常快,就给人们造成了

RSpcc的博客 1007
上一篇: STM32下的USART串口通信程序
下一篇: 基于寄存器与基于固件库的stm32 LED流水灯例子
Liu-FE
博客等级 码龄7年 103粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值