实用指南:STM32 单片机开发 - FreeRTOS 实时操作系统

news/2025/10/13 16:29:49/文章来源:https://www.cnblogs.com/lxjshuju/p/19138780

一、在线下载 FreeRTOS 内核

图 1
图 2

二、FreeRTOS 实时操作系统介绍

FreeRTOS 实时操作系统是一种轻量型实时操作系统,实现快速响应

FreeRTOS 实时操作系统是 RTOS 实时操作系统下的一个版本(子集)


RTOS 实时操作系统具有很多版本:FreeRTOS、RT-Thread、Thread-X……

2.1 裸机开发和架构开发的区别

裸机开发:不使用操作系统,所有驱动代码按照 main.c 中的编写顺序按顺序执行代码。

系统开发:使用操作系统,所有驱动代码支持多进程 / 多线程的并发处理机制,可以实现快速响应

FreeRTOS 实时操作系统 = 裸机开发 + 多线程(多任务)并发处理

2.2 多进程和多线程的区别

  1. 资源量:进程是资源分配的最小单位,线程是任务调度的最小单位,1 个线程 = 1 个任务;
  2. 安全性:进程的用户空间相互独立(IPC 机制),线程同享同一进程下的资源(同步互斥);
  3. 效率:多线程的并发处理的效率更高(进程的上下文切换)。

三、FreeRTOS 实时操作系统的特点

  • 小巧与灵活性通过:FreeRTOS 非常小巧,适合在资源有限的微控制器中运行,但其应用并不仅限于微控制器。开发者能够根据实际应用需求进行定制和配置,选择所需的功能模块。
  • 可移植性:FreeRTOS 支持多种处理器架构,并能在不同的硬件平台上运行,这为开发者提供了更大的硬件选择灵活性。
  • 实时性:FreeRTOS 献出严格的任务调度机制,确保任务按照预定的优先级和时间约束执行,使其非常适合对时间要求较高的应用场景,如工业控制和汽车电子等领域。
  • 丰富的功能:包括任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等。
  • 开源与免费通过:FreeRTOS 是一个开源工程,其源代码能够免费获取和使用,这有助于促进其在开发者社区中的普及和发展。
  • FreeRTOS 的应用领域非常广泛,包括但不限于工业控制、汽车电子、智能家居、医疗设备、航空航天等需要实时响应和稳定运行的领域。

四、FreeRTOS 实时操作系统的任务调度机制

通过linux 操作系统的任务调度机制:默认使用时间片轮询机制,也能够使用抢占式任务调度机制;

FreeRTOS 操作系统的任务调度机制:默认采用抢占式任务调度机制,也可以使用时间片轮询机制。

抢占式任务调度机制:给每个任务/线程分配对应的优先级等级,优先级高的先执行,优先级低的后执行。

注意

优先级等级的数字越小,优先级越高

优先级相同时,使用时间片轮询机制


五、任务的状态

  • 就绪态:任务的资源分配成功,等待被运行。
  • 运行态:被分配资源的任务使用系统的时间片,成功开始运行。
  • 阻塞态:任务中存在耗时、延时(Delay 函数、超时检测等)时,任务处于阻塞状态;处于阻塞状态的任务,行被别的任务抢占系统的资源,从而运行。
  • 挂起态:在任务 1 中应用挂起函数挂起任务 2 ,使任务 2 处于挂起状态,环境不会调用任务 2;需要在别的任务/任务 1 中采用解除挂起函数,解除任务 2 的挂起,使任务 2 处于就绪态。
图 3 任务的状态

六、CubeMX 中配置 FreeRTOS

图 4 设置 FreeRTOS
图 5 heap_1 - heap_5 的选择
图 6 设置 USART1
图 7 设置 Debug 下载接口
图 8 配置 X-CUBE-FREERTOS

将如图所示的 CMSIS RTOS2 选项勾上,在下面进行任务的配置。

图 9 创建任务的相关参数
图 10 新任务创建参数
一个任务的参数有:任务名、当前优先级、任务大小、任务的入口函数等。
图 11 FreeRTOS 代码生成出现 RTOS 相关警告

如果出现如图 11 所示的 RTOS 相关警告,解决方法如下图:

图 12 警告解决手段

七、代码分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/936247.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CF1442C Graph Transpositions 比正确答案大了1

做到最后,应该都知道把19步转置以上的分层图压缩掉 我偷懒,把所有信息都压缩在dis[19][x]里面,于是这样会在找最短路的过程中把步数信息覆盖,于是答案会大1 解决方案: 把步数分成奇数步和偶数步就可以保证上一步的…

setState 第二个参数的作用?

在 React(类组件中)setState 的第二个参数是一个 回调函数(callback),它会在 状态更新并且组件重新渲染完成后 执行。 基本语法 this.setState(updater[, callback])updater:可以是对象(直接更新状态)或函数(…

2025 年镀铝板厂商最新推荐榜:聚焦技术创新、行业适配与服务保障的国内优质企业全景解析镀铝板零售/镀铝板零开/镀铝板开平/镀铝板平板厂家推荐

引言当前镀铝板在交通运输、建筑装饰、电子电气等领域应用愈发广泛,市场需求持续增长,但供应商数量激增也导致市场乱象频发。部分供应商产品质量不稳定,尺寸精度、表面质量不达标;技术实力薄弱,无法提供针对性材料…

视频抽帧完全指南:使用PowerShell批量提取与优化图片序列 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

每周读书与学习-初识JMeter 元件(五)

每周读书与学习是由清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书的作者推出,分享作者多年的IT从业经历,希望对很多计算机科学技术IT类专业毕业生以及IT从业者有所帮助。 1、监听器 在Jmeter中监…

机器学习模型中异常样本、特征的三种常见分类与鉴别方法 - 教程

机器学习模型中异常样本、特征的三种常见分类与鉴别方法 - 教程2025-10-13 16:23 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !impo…

10-7

(1)今天预习了java的课程 (2)明天继续深造

10-6

(1)今天预习了java的课程 (2)明天继续深造

10-5

(1)今天预习了java的课程 (2)明天继续深造

10-12

(1)今天预习了java的课程 (2)明天继续深造

10-11

(1)今天预习了java的课程 (2)明天继续深造

20232413邓昊 2025-2026-1 《网络与系统攻防技术》实验一实验报告

一.实验目标 1.手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数。 2.利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数。 3.注入一个自己制作的shellcode并运行这段shel…

充气泵方案:在开发时需要测试那些功能?

充气泵的功能测试需覆盖“核心性能、安全防护、用户交互、环境适应性”四大维度,确保产品在不同场景下稳定、可靠运行。以下是开发阶段必须完成的关键功能测试项,按测试优先级和逻辑分类说明:一、核心充气性能测试(…

安装fastasr遇到的问题记录

参考连接:https://www.cnblogs.com/chenkui164/p/16466129.html 出现的问题1: 致命错误:fftw3.h:没有那个文件或目录 #include <fftw3.h> 解决:centos需要安装,sudo yum install fftw-devel 问题2: centos安…

微服务项目启动出现NacosException: Client not connected, current status:STARTING异常

<!-- SpringCloud Alibaba 微服务 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-…

2025 年高压锅炉管厂家推荐榜:20G/15crmog/12cr1moVG/无缝钢管/gb5310/A335P11/厚壁/p91/t12高压锅炉管厂家,聚焦品质与服务,助力企业精准选品

随着工业升级加速、能源基建项目持续推进及特种设备安全标准不断提升,高压锅炉管作为火力发电、化工、能源等领域的核心耗材,市场需求稳步增长,2025 年行业市场规模预计进一步扩大。但市场扩容也带来产品质量参差不…

国标GB28181算法算力平台EasyGBS软件设备统一管理及录像存储能力

国标GB28181算法算力平台EasyGBS软件设备统一管理及录像存储能力随着信息技术的飞速发展,视频监控技术已经成为维护公共安全、提升管理效率的重要手段。在这一背景下,EasyGBS作为一款AI算法算力平台,致力于为用户提…

P11118 [ROI 2024] 无人机比赛 (Day 2) 题解

我们可以将比赛过程分为 \(n\times m\) 轮,每轮有一架无人机从上一个门飞至下一个门,其余的传送。 考虑每轮是哪个没有传送。发现是飞向下一个门时间最少且编号最小的。设 \(w_{i,j}\) 表示 \(i\) 从 \(j-1\) 号门飞…

基于遗传算法和粒子群优化在梁结构拓扑优化中的技术方案

一、算法原理对比与适用性分析特性 遗传算法(GA) 粒子群优化(PSO)核心思想 模拟生物进化过程,通过选择、交叉、变异操作实现全局搜索 模拟鸟群觅食行为,通过个体与群体经验更新速度和位置实现快速收敛优势 • 全…

网络拓扑的认识与体会

1、星型拓扑 我们的家庭网络就是星型拓扑:光猫接路由器,路由器接小交换机,小交换机再接入联网设备。特点:家庭中联网的设备均与路由器通信 优点:单台设备网络故障不影响其他设备联网 缺点:路由器故障会影响全局(…