freertos

论迹复利1 天前
内核·freertos·risc-v
PendSV与RISC-V trap——上下文切换的两种设计哲学TL;DR:PendSV是Cortex-M3为RTOS量身定做的"可挂起的最低优先级异常"——硬件替你锁存切换请求、压8个寄存器、双栈指针自动分家。RISC-V没有这个专属机关,只有一套通用trap机制——硬件只记三个CSR,31+2个寄存器全靠软件压栈,栈分家靠mscratch约定。但深挖下去两者惊人地同构:M3的"pend位"对应RISC-V的"mip挂起位+mret门控",SVC对应ecall,PSP/MSP对应mscratch。差异的本质不是功能缺失,而是ARM把RTOS的需求烧进硬件,RISC-
捷瑞电子工坊4 天前
嵌入式·freertos·实时操作系统·任务通知·临界区·中断管理·二值信号量
FreeRTOS中断管理:从原理到实践(标准库版)在嵌入式实时系统中,中断是处理异步事件的核心机制。FreeRTOS 提供了完善的中断管理机制,帮助开发者编写安全、高效的中断服务程序(ISR),并与任务进行同步。本文将通俗易懂地讲解 FreeRTOS 中断管理的核心概念,并给出基于 STM32 标准外设库 的完整代码示例。
捷瑞电子工坊5 天前
freertos·内存管理·嵌入式开发·内存碎片·嵌入式实时操作系统·动态内存分配
FreeRTOS 内存管理详解:从 heap_1 到 heap_5 的选择与实践在嵌入式实时系统中,内存管理是一个至关重要的环节。FreeRTOS 作为一款轻量级实时操作系统,提供了多种内存管理方案,以适应不同的应用场景。本文将通俗易懂地介绍 FreeRTOS 的内存管理机制,包括五种标准实现(heap_1 至 heap_5)的原理、区别及使用方法,并给出完整代码示例,帮助读者快速上手。
qq_401700415 天前
freertos
FreeRTOS队列集--允许任务同时在多个队列或信号量上阻塞等待读取操作对于FreeRTOS来说,队列集提供了一种机制,允许 RTOS 任务同时在多个 RTOS 队列或信号量上 阻塞(挂起),等待读取操作,队列集可以用于将多个队列、信号量绑定在同一个接口进行监听,从而实现统一管理;队列集是对传统线程交互接口的补充,用于Task中需要监视多个信号的场景。
hsjiasb6 天前
学习·学习笔记·freertos
FreeRTOS学习(三十九)——最终总结从最开始创建一个LED任务,到现在理解任务调度、队列、信号量、任务通知、内存管理以及FreeRTOS工程架构,这个系列已经走到了最后一篇。
捷瑞电子工坊6 天前
stm32·嵌入式·freertos·实时操作系统·标准外设库·事件组·任务同步
FreeRTOS事件组:多任务同步的利器在嵌入式实时操作系统中,任务间的同步与通信是核心问题。FreeRTOS提供了多种机制,如信号量、队列、事件组等。其中,事件组(Event Groups) 是一种非常灵活且高效的同步方式,特别适用于一个任务需要等待多个事件发生的场景。本文将用通俗易懂的语言,带你快速掌握FreeRTOS事件组的使用方法。
hsjiasb6 天前
学习·学习笔记·freertos
FreeRTOS学习(三十八)——性能优化上一节学习了FreeRTOS常见错误与工程规范,知道了任务不阻塞、优先级设置混乱、任务栈不合理等问题都会影响系统稳定性。
hsjiasb7 天前
学习·学习笔记·freertos
FreeRTOS学习(三十七)——常见错误与工程规范上一节学习了FreeRTOS移植与调度原理,知道了STM32F407中的SysTick、PendSV和SVC在FreeRTOS调度过程中分别起什么作用。
捷瑞电子工坊8 天前
stm32·嵌入式·freertos·实时操作系统·任务管理·标准外设库·任务挂起与恢复
FreeRTOS任务管理:从入门到实践(标准库版)在嵌入式实时系统中,任务管理是操作系统的核心功能之一。FreeRTOS作为一款轻量级的实时操作系统,提供了灵活的任务创建、删除、挂起、恢复以及优先级调度机制。本文将以通俗易懂的方式讲解FreeRTOS任务管理的基本概念,并通过一个基于STM32标准外设库的完整示例,帮助读者快速上手。
hsjiasb8 天前
学习·学习笔记·freertos
FreeRTOS学习(三十五)——系统架构综合项目前面已经学习了任务、队列、信号量、互斥量、任务通知等内容,也完成了生产者消费者和多任务同步实验。但是实际STM32项目中,很少只有两个任务。
拾知_H9 天前
stm32·嵌入式硬件·freertos
STM32+FreeRTOS基础配置本篇文章基于STM32标准库、ARM_CM3架构和heap_4.c内存管理(FreeRTOS)编写,适用FreeRTOS入门后参考。
qq_401700419 天前
freertos
RTOS的几种常见调度策略RTOS(实时操作系统)的调度策略是决定哪个任务在何时获得CPU使用权的核心机制。理解这些策略,是进行嵌入式多任务开发的基础。
圆奋奋9 天前
学习·freertos
FreeRTOS学习(十)- 最核心的内容:优先级抢占式调度 + 上下文切换经过前面多个模块的拆解,可以回答这个问题了。FreeRTOS 的"心脏"——也是它与裸机程序的根本区别——就一句话:
hsjiasb12 天前
开发语言·stm32·学习·学习笔记·freertos
FreeRTOS学习(二十七)——任务栈与栈溢出检测上一节学习了FreeRTOS的动态内存管理heap_1到heap_5,知道了创建任务、队列和信号量时需要从RAM中申请内存。
捷瑞电子工坊12 天前
嵌入式·freertos·实时操作系统·临界段·临界区
FreeRTOS 临界段:为什么关中断?怎么用才安全?在 FreeRTOS 开发中,我们经常看到这样的代码:很多初学者知道这是“进入临界区”,但不知道它到底做了什么、为什么要用、有什么坑。本文用最简单的方式讲清楚。
捷瑞电子工坊12 天前
freertos·嵌入式实时操作系统·空闲任务·阻塞延时·vtaskdelay
FreeRTOS 空闲任务与阻塞延时在 FreeRTOS 中,CPU 必须至少有一个任务在运行。如果所有用户任务都进入了阻塞态,那 CPU 就没有用户任务可跑了。这时,内核会自动创建一个优先级最低的空闲任务来兜底。
hsjiasb12 天前
学习·学习笔记·freertos
FreeRTOS学习(二十九)——低功耗Tickless Idle上一节学习了钩子函数与运行时间统计,知道了FreeRTOS可以通过Idle Hook判断系统什么时候处于空闲状态。
捷瑞电子工坊13 天前
freertos·任务调度·优先级·嵌入式实时操作系统·就绪列表
FreeRTOS 就绪列表详解:任务调度的核心枢纽在FreeRTOS中,任务调度是整个操作系统的核心功能。而就绪列表(Ready List) ,正是支撑任务调度的最关键数据结构。简单来说,就绪列表就是用来存放所有“准备好了、随时可以运行”的任务的地方。
hsjiasb15 天前
stm32·单片机·学习·学习笔记·freertos
FreeRTOS学习(二十六)——动态内存管理heap_1到heap_5这一节来看一个平时很容易被忽略的问题:这些函数创建任务、队列和互斥量时,都需要占用RAM。那么这些内存到底从哪里来?FreeRTOS又是怎么管理这些内存的?
hsjiasb16 天前
stm32·单片机·嵌入式硬件·学习·freertos
FreeRTOS学习(二十三)——消息缓冲区(Message Buffer)上一节学习了流缓冲区(Stream Buffer),它非常适合UART、DMA等连续字节流数据。但是流缓冲区有一个特点: