FreeRTOS · STM32 · ESP32 · RTOS 内核

FreeRTOS 实时操作系统

从裸机轮询到抢占式实时内核,系统掌握 FreeRTOS 多任务开发。
任务调度、队列、信号量、事件组、软件定时器、中断管理、低功耗,12 章从原理到实战。

12 章节 FreeRTOS V10.x / V11.x Cortex-M + ESP32 抢占式 实时调度 C 语言内核
课程目录
Chapter 01
RTOS 与裸机开发
裸机轮询与前后台系统的局限、RTOS 是什么、硬实时 vs 软实时、FreeRTOS 移植结构与特点、任务概念,写出第一个双任务程序。
RTOS 实时性 Task
Chapter 02
任务管理与调度
任务状态机(运行/就绪/阻塞/挂起)、优先级、抢占式 vs 协作式、时间片轮转、xTaskCreate/vTaskDelete、vTaskDelay vs vTaskDelayUntil、空闲任务与钩子。
调度器 优先级 状态机
Chapter 03
任务通知
轻量级任务间通信、代替信号量/事件组的场景、xTaskNotify/xTaskNotifyWait、通知值的四种操作、比队列快 45% 的性能优势。
Notification 轻量通信 高性能
Chapter 04
队列 Queue
队列原理与拷贝语义、xQueueCreate/Send/Receive、阻塞超时、队列集 QueueSet、邮箱模式、在 ISR 中用 xQueueSendFromISR。
Queue 拷贝语义 QueueSet
Chapter 05
信号量与互斥锁
二值/计数信号量、互斥量 Mutex、优先级翻转与优先级继承、递归互斥量、xSemaphoreTake/Give、FromISR 版本。
Semaphore Mutex 优先级翻转
Chapter 06
事件组 Event Group
位标志同步、多事件等待(AND/OR)、xEventGroupSetBits/WaitBits、任务同步点 Sync、与队列的对比选型。
EventGroup 位标志 同步点
Chapter 07
软件定时器
定时器服务任务 Timer Daemon、单次/周期定时器、xTimerCreate/Start/Stop/Reset、回调函数注意事项、与硬件定时器的区别。
SoftwareTimer 周期回调 Daemon
Chapter 08
内存管理
heap_1~heap_5 五种方案对比、动态 vs 静态创建、内存碎片、栈溢出检测、configTOTAL_HEAP_SIZE、xPortGetFreeHeapSize。
Heap 静态分配 栈溢出
Chapter 09
中断管理
FreeRTOS 中断优先级、configMAX_SYSCALL_INTERRUPT_PRIORITY、FromISR 系列 API、portYIELD_FROM_ISR、中断延迟处理 Deferred Interrupt。
ISR 优先级 Deferred
Chapter 10
低功耗 Tickless 模式
空闲时关闭 SysTick、configUSE_TICKLESS_IDLE、进入 STOP 模式、唤醒源配置、tick 补偿、嵌入式功耗优化实践。
Tickless 低功耗 STOP
Chapter 11
调试与性能分析
configASSERT、栈高水位 uxTaskGetStackHighWaterMark、运行时统计 vTaskGetRunTimeStats、Trace 工具(Tracealyzer/SystemView)、常见死锁排查。
调试 性能分析 死锁
Chapter 12
实战:多任务传感器网关
综合项目:传感器采集 + 数据处理 + 通信任务,用队列 + 信号量 + 事件组协作,完整架构图与代码,部署 checklist。
实战 传感器 网关 架构
⚒️ 配套开发者工具箱 · JSON / 正则 / 时间戳 / Cron 等 17 款免费在线工具