古法编程
FreeRTOS 实时操作系统
开始学习
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。
实战
传感器
网关
架构
同卷推荐
嵌入式卷 · 顺手翻翻
ARM 嵌入式 C 开发(STM32)
→
ESP32 物联网开发
→
Rust 嵌入式开发
→
Arduino 入门
→
树莓派 / 嵌入式 Linux
→
CAN 总线 / 汽车电子
→
⚒️ 配套开发者工具箱 · JSON / 正则 / 时间戳 / Cron 等 17 款免费在线工具
→