freertos

Zeku2 小时前
stm32·freertos·linux驱动开发·linux应用开发
20260110 - Linux驱动学习笔记:环形缓冲区与按键防丢失假设你的驱动程序只用一个全局变量 int key_val 来保存按键值。环形缓冲区(也叫 FIFO,先入先出队列)是一块内存区域,配合两个指针:写指针 ® 和 读指针 (W)。
Zeku2 小时前
笔记·stm32·freertos·linux驱动开发·linux应用开发
20260111 - Linux驱动学习笔记:异步通知在之前的学习中,以及接触了两种读取数据的方式:异步通知则是第三种方式:“信号驱动 IO”。参考你的应用层代码 button_test.c,APP 需要完成“三部曲”才能接收驱动的信号。
张世争16 小时前
windows·freertos·mingw·cmake·clion
windows clion MingW cmake 编译运行 FreeRTOS在 windows 平台上,使用 clion IDE,cmake 方式编译 FreeRTOS,编译工具链使用 MingW gcc
TangDuoduo00052 天前
freertos
【FreeRTOS推迟中断】到目前为止,所演示的延迟中断处理示例都要求编程人员为使用延迟处理技术的每个中断创建一个任务。此外,还可以使用 xTimerPendFunctionCallFromISR()(守护任务最初被称为定时器服务任务,因为它最初仅用于执行软件定时器回调函数。因此,xTimerPendFunctionCall() 在 timers.c 文件中实现,并且按照在函数名前面添加函数所在文件名的命名约定,该函数名以“Timer”为前缀。)API 函数将中断处理延迟到 RTOS 守护任务中,从而无需为每个中断创建单独的任务。将
TangDuoduo00054 天前
freertos
【FreeRTOS空闲钩子函数、优先级函数、删除函数及调度器算法】当任务处于阻塞状态时,任务无法运行,因此调度器无法选择这些任务。必须始终至少有一个任务可以进入运行状态(即使在FreeRTOS的特殊低功耗功能时也是如此,在这种情况下,执行FreeRTOS的微控制器将被置于低功耗模式)。
小曹要微笑4 天前
freertos·队列·队列集
队列集详解队列集(Queue Set)是FreeRTOS中用于统一管理多个队列和信号量的关键数据结构,它允许任务通过单一API调用同时监听多个通信对象,显著提升多源数据处理效率和系统实时性。
wzfj123455 天前
freertos
FreeRTOS 学习方法✅ 优先学习顺序(按核心重要性+理解难度由低到高) ✅ 先啃基础数据结构 → 再啃任务核心 → 最后扩展功能,源码阅读不走弯路,完全贴合Cortex-M内核开发场景! 🔹 第一步:必看【基础数据结构】(FreeRTOS的基石,最简单,先吃透) 这2个文件是所有功能的底层支撑,看懂了,后续任务/队列全通透,建议先从这俩入手! ✅ list.c + list.h (链表) 👉 核心:FreeRTOS最核心的双向循环链表,任务控制块TCB、队列、定时器全靠它管理。 👉 重点看: vListInitiali
Zeku7 天前
stm32·freertos·linux驱动开发·linux应用开发
20260103 - Linux平台总线LED驱动架构深度解析基于韦东山Linux驱动基础视频:LED模板驱动程序的改造这套代码展示了一个标准的 Linux 平台总线 (Platform Bus) 设备驱动模型。其核心设计思想是 分层 (Layering) 与 分离 (Separation)。
Zeku7 天前
stm32·freertos·linux驱动开发·linux应用开发
20260102 - Linux驱动设计的思想假设你有 10 款开发板,用的都是同一款 CPU(比如 i.MX6ULL),但 LED 接的引脚不同:
Zeku7 天前
stm32·freertos·linux驱动开发·linux应用开发
20260103 - Linux总线设备驱动模型学习笔记在传统的字符设备驱动编写中,开发者通常将“硬件资源(引脚、地址)”和“软件逻辑(操作流程)”混写在一起。这种方式存在两个主要缺陷:
brave and determined8 天前
操作系统·esp32·freertos·任务·任务调度器·任务控制块·嵌入式设计
ESP32 FreeRTOS (day1)入门教程 (ESP-IDF版):从超级循环到多任务的系统化思维目录前言:为什么在ESP-IDF中必须理解FreeRTOS?第一部分:核心概念——任务、调度器与状态1.1 任务
森旺电子9 天前
stm32·单片机·嵌入式硬件·freertos
STM32 上下文详解STM32 基于 Cortex-M 内核(主流 M3/M4/M7/M0+),其上下文核心分为中断上下文和RTOS 任务上下文两大类(裸机场景下主要涉及中断上下文,RTOS 场景下新增任务上下文),下面对每类上下文及组成部分做详细介绍。
Zeku9 天前
stm32·freertos·linux驱动开发·linux应用开发
20251231 - Linux 字符设备驱动开发笔记:分层设计这份笔记的核心逻辑在于 “分层设计”:将驱动框架(和内核打交道)与硬件操作(和寄存器打交道)彻底剥离。
Zeku9 天前
stm32·freertos·linux驱动开发·linux应用开发
20251230 - 为什么Linux驱动开发中必须要用到ioremap来访问硬件?为什么Linux驱动开发中必须要用到ioremap来访问硬件?在驱动程序里面为什么不能直接用物理地址来访问寄存器?
charlie1145141919 天前
开发语言·c·freertos·实时操作系统
FreeRTOS:中断(ISR)与 RTOS 安全 API在嵌入式系统中,中断是处理实时事件的核心机制。然而,当我们引入 RTOS 后,中断服务程序(ISR)与操作系统的交互就成了一个需要格外小心的领域。使用不当的 API 可能导致系统崩溃、任务调度失败,甚至数据损坏。
charlie11451419110 天前
开发语言·笔记·学习·freertos·实时操作系统·工程
FreeRTOS:软件定时器(Software Timers)与时间管理本课目标:掌握 FreeRTOS 软件定时器的概念、常用 API 与最佳实践,以及与任务延时(vTaskDelay / vTaskDelayUntil)的比较。附带实验示例:用软件定时器触发周期性处理并给出代码与流程图。
charlie11451419110 天前
开发语言·笔记·学习·c·freertos·实时操作系统
FreeRTOS: 信号量(Semaphores)、互斥量(Mutex)与优先级继承在上一课我们重点聊了任务与队列,解决的是“数据怎么在任务之间流动”的问题。这一课要讨论的是另一类更容易被忽视、但在真实工程里同样致命的问题:谁该等谁,以及谁能同时访问共享资源。也就是同步与互斥。
Zeku13 天前
stm32·freertos·linux驱动开发·linux应用开发
20251228 - Linux 驱动开发硬件管理机制笔记学习Linux 驱动开发时,总觉得知识点十分零散,非常有必要把一些知识点集成起来总结。Linux 驱动开发硬件管理机制相关的术语分为“空间管理”、“描述机制”和“交互协议”三个维度,以此构建完整的知识地图。
Zeku14 天前
stm32·freertos·linux驱动开发·linux应用开发
20251228 - Linux 驱动文件 (.ko) 深度解析笔记前置知识:在 Linux 的世界里,我们通常把 内核层(Kernel) 和 驱动层(Driver) 视为一体,统称为内核态;而把 用户层 和 应用层 统称为用户态。驱动其实是“寄生”在内核里的。内核是框架,而驱动是具体实现。
森旺电子14 天前
stm32·单片机·嵌入式硬件·freertos
STM32内核中断和外设中断STM32 的中断分为Cortex-M 内核中断(系统异常) 和STM32 片上外设中断—— 内核中断是 Cortex-M3/M4/M7 内核自带的通用异常,所有 STM32 该内核系列通用;外设中断是 STM32 片上外设(如 USART、ADC、TIM)对应的中断,不同系列(F1/F4/F7/H7)外设数量和中断通道略有差异,但核心常用外设中断一致。以下按 “内核中断(全系列通用)+ 常用外设中断(覆盖 M3/M4/M7 核心系列)” 分类,详细列出并说明: