freertos

qq_4017004110 小时前
单片机·freertos
FreeRTOS 堆内存管理源码剖析:释放一块内存,空闲块数量反而变少了?组件有一个共同点:创建时都要申请内存,而且走的是同一个函数 pvPortMalloc。创建任务要它(任务栈 + 任务控制块)、创建队列要它、创建事件组要它、创建流缓冲还是要它——《FreeRTOS任务创建与删除机制源码剖析》里你看着任务栈从堆里割出来,《FreeRTOS 流缓冲与消息缓冲源码剖析:主体不用等待链表,也不用关中断的"队列"》里你看着它"一次 malloc 连结构带缓冲区"。但这个函数自己长什么样,系列一直没拆——它是整个内核的地基,本篇就来拆它。
List<String> error_P3 天前
freertos
使用FreeRTOS搭建工程项目(一)做软件框架,实际上就是定义规范,解耦代码,目的,无非是这几个:●方便复用:代码写了,以后还能用●定位问题:机器bug,代码bug,容易找到具体模块查出问题。
@嵌入式扫地僧10 天前
freertos·rtos·时间片轮转·任务状态切换·抢占式调度
RTOS 面试实战:任务状态切换原理在 IoT 设备、工业控制等嵌入式项目开发中,经常会遇到任务卡死、优先级翻转、调度器异常等问题,比如采集传感器数据的高优先级任务迟迟得不到运行、低优先级任务占用资源导致系统响应超时,这些问题的定位和解决都依赖对 RTOS 任务状态切换机制的深入理解,也是 RTOS 开发岗位面试的核心考点,直接考核开发者对 RTOS 内核的掌握程度和实际调试能力。
WWJA王文举18 天前
stm32·freertos·嵌入式开发·在线升级
Bootloader、App 和升级分区之间是什么关系?在嵌入式设备中,固件升级通常不是简单地“把新程序写进去”。一个完整的升级系统,通常包含三个重要部分:它们共同完成设备的启动、运行、升级和回滚。
怀民民民18 天前
stm32·freertos·嵌入式软件·嵌入式linux·openmv
嵌入式软件学习路线与项目实践记录:STM32、FreeRTOS、Linux 与 OpenMV这个博客主要记录我的嵌入式软件学习过程、外设实验和项目实践。目前已经公开的内容主要集中在 STM32、FreeRTOS、常用外设、开发工具、PCB 设计和综合项目。文章既包括 GPIO、中断、定时器、串口、ADC 等基础知识,也包括智能派件 AGV、双通道点光源追踪系统等综合实践。
长江后浪博客1 个月前
单片机·嵌入式硬件·嵌入式·esp32·freertos·esp-idf
ESP32-SOLO-1 在 ESP-IDF v5.5 下启动不断重启问题分析与解决在将原有 ESP32 工程升级到 ESP-IDF v5.5 后,程序烧录成功,但是 ESP32 上电后不断重启。 串口监视器可以看到类似以下日志:
WWJA王文举1 个月前
操作系统·freertos·嵌入式开发
FreeRTOS动态创建任务和静态创建任务详解:xTaskCreate与xTaskCreateStatic区别在 FreeRTOS 中,任务(Task)是系统调度和管理的基本单位。上一篇文章我们介绍了:那么新的问题来了:
离凌寒1 个月前
freertos
一、关于rtthread nano使用上的细节总结1、移植配置上: 官方给出 https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-nano/an0038-nano-introduction 上面的流程很明确。 2、主要几个细节地方容易出问题。
桃蹊、1 个月前
stm32·物联网·wifi·freertos
串口/网络透传实战:FreeRTOS 多任务架构与连接池设计实战项目复盘:STM32H5 + W800 WiFi 模块 + FreeRTOS 实现串口-网络双向透传网关,支持 TCP/UDP Client/Server 多种模式。本文基于项目真实代码分析。
虎王物联1 个月前
物联网·嵌入式·esp32·freertos
ESP32 FreeRTOS多任务优先级翻转与互斥量保护实战ESP32跑FreeRTOS,多数人遇到的第一个坑不是API怎么用,而是多任务跑起来后系统莫名其妙卡死或重启。原因往往出在共享资源竞争上:两个任务同时操作同一个I2C外设,或者一个任务在读全局变量另一个在写。FreeRTOS的互斥量(Mutex)就是解决这类问题的,但用不好反而会引入优先级翻转。这篇从优先级翻转的原理讲起,给出ESP32上的复现条件和互斥量正确用法。
桃蹊、1 个月前
freertos·队列
FreeRTOS(六)之队列:任务间通信的基石任务之间怎么传数据?答案是队列。它是 FreeRTOS 最核心的通信机制——信号量、互斥量底层都是队列实现的。
桃蹊、1 个月前
freertos·内存管理·栈·堆
FreeRTOS(二)之堆和栈:内存基础入门学 FreeRTOS 第一道坎不是任务,是搞懂内存。堆和栈分不清,后面任务栈大小、内存管理全都会懵。目录
桃蹊、1 个月前
freertos·任务·task·创建任务
FreeRTOS(四)之任务管理(上):创建、删除与任务参数任务(Task)是 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-
捷瑞电子工坊1 个月前
嵌入式·freertos·实时操作系统·任务通知·临界区·中断管理·二值信号量
FreeRTOS中断管理:从原理到实践(标准库版)在嵌入式实时系统中,中断是处理异步事件的核心机制。FreeRTOS 提供了完善的中断管理机制,帮助开发者编写安全、高效的中断服务程序(ISR),并与任务进行同步。本文将通俗易懂地讲解 FreeRTOS 中断管理的核心概念,并给出基于 STM32 标准外设库 的完整代码示例。
捷瑞电子工坊1 个月前
freertos·内存管理·嵌入式开发·内存碎片·嵌入式实时操作系统·动态内存分配
FreeRTOS 内存管理详解:从 heap_1 到 heap_5 的选择与实践在嵌入式实时系统中,内存管理是一个至关重要的环节。FreeRTOS 作为一款轻量级实时操作系统,提供了多种内存管理方案,以适应不同的应用场景。本文将通俗易懂地介绍 FreeRTOS 的内存管理机制,包括五种标准实现(heap_1 至 heap_5)的原理、区别及使用方法,并给出完整代码示例,帮助读者快速上手。
qq_401700411 个月前
freertos
FreeRTOS队列集--允许任务同时在多个队列或信号量上阻塞等待读取操作对于FreeRTOS来说,队列集提供了一种机制,允许 RTOS 任务同时在多个 RTOS 队列或信号量上 阻塞(挂起),等待读取操作,队列集可以用于将多个队列、信号量绑定在同一个接口进行监听,从而实现统一管理;队列集是对传统线程交互接口的补充,用于Task中需要监视多个信号的场景。
hsjiasb2 个月前
学习·学习笔记·freertos
FreeRTOS学习(三十九)——最终总结从最开始创建一个LED任务,到现在理解任务调度、队列、信号量、任务通知、内存管理以及FreeRTOS工程架构,这个系列已经走到了最后一篇。
捷瑞电子工坊2 个月前
stm32·嵌入式·freertos·实时操作系统·标准外设库·事件组·任务同步
FreeRTOS事件组:多任务同步的利器在嵌入式实时操作系统中,任务间的同步与通信是核心问题。FreeRTOS提供了多种机制,如信号量、队列、事件组等。其中,事件组(Event Groups) 是一种非常灵活且高效的同步方式,特别适用于一个任务需要等待多个事件发生的场景。本文将用通俗易懂的语言,带你快速掌握FreeRTOS事件组的使用方法。
hsjiasb2 个月前
学习·学习笔记·freertos
FreeRTOS学习(三十八)——性能优化上一节学习了FreeRTOS常见错误与工程规范,知道了任务不阻塞、优先级设置混乱、任务栈不合理等问题都会影响系统稳定性。