第1章
裸机开发的困境:为什么需要RTOS?
从轮询系统、前后台系统到RTOS的演进,分析裸机痛点:CPU利用率低、实时性差、代码耦合度高。
演进痛点
第2章
RTOS核心概念:任务、调度、上下文切换
任务状态机(就绪、运行、阻塞、挂起),抢占式调度与时间片轮转的区别。
任务调度
第3章
FreeRTOS移植实战(上)
源码结构分析、port层详解、在STM32上完成基础移植。
移植STM32
第4章
FreeRTOS移植实战(下)
配置系统时钟、中断管理、临界区保护,验证移植成功。
时钟中断
第5章
任务创建与管理
动态创建 vs 静态创建,任务句柄、优先级、删除与挂起恢复。
API任务控制
第6章
任务调度机制深度解析
优先级抢占、时间片轮转、空闲任务与Idle钩子函数。
调度空闲任务
第7章
任务间通信之队列
队列的创建、发送、接收,生产者-消费者模型应用。
队列IPC
第8章
任务间通信之信号量
二值信号量、计数信号量,用于同步与资源管理。
信号量同步
第9章
任务间通信之互斥量
优先级继承机制,解决优先级反转问题。
互斥优先级反转
第10章
任务间通信之事件组
多事件同步,等待多个标志位。
事件组标志位
第11章
任务间通信之任务通知
轻量级通信方式,比队列和信号量更高效。
通知轻量
第12章
软件定时器
单次定时器与周期定时器,定时器回调函数的使用场景。
定时器回调
第13章
内存管理
heap_1到heap_5的实现原理与选择策略,内存碎片问题。
内存heap
第14章
中断管理
在RTOS中处理中断,延迟中断处理(Bottom Half)模式。
中断Bottom Half
第15章
临界区与锁
taskENTER_CRITICAL、taskEXIT_CRITICAL,挂起调度器。
临界区锁
第16章
低功耗Tickless模式
FreeRTOS的Tickless idle实现,如何降低系统功耗。
低功耗Tickless
第17章
MPU保护与任务隔离
FreeRTOS MPU支持,保护关键任务不被非法访问。
MPU隔离
第18章
流缓冲区与消息缓冲区
用于不定长数据的流式传输。
流缓冲区消息
第19章
多核与SMP支持
FreeRTOS在多核处理器上的应用,任务分配与核间通信。
多核SMP
第20章
RTOS调试技巧
任务栈溢出检测、运行时统计、Tracealyzer可视化分析。
调试Tracealyzer
第21章
实战项目1:多任务温湿度采集系统
使用DHT11、OLED显示、按键控制。
DHT11OLED
第22章
实战项目2:智能小车控制系统
电机控制、避障传感器、多任务协调。
小车避障
第23章
简易RTOS内核实现(上)
任务控制块、就绪列表、调度器核心。
内核TCB
第24章
简易RTOS内核实现(下)
上下文切换、PendSV异常、SysTick定时器。
PendSVSysTick
第25章
RTOS性能评估
任务切换时间、中断延迟、吞吐量测试方法。
性能延迟
第26章
常见RTOS对比
FreeRTOS vs RT-Thread vs uC/OS-III vs Zephyr,选型指南。
对比选型
第27章
RTOS中的设计模式
状态机模式、管道模式、发布-订阅模式。
设计模式架构
第28章
安全关键系统
MISRA-C规范、静态分析工具、汽车/医疗领域应用。
MISRA-C安全
第29章
RTOS与物联网
结合LwIP、MQTT,构建联网嵌入式系统。
LwIPMQTT
第30章
从RTOS到Linux
何时需要升级到嵌入式Linux?资源对比与迁移路径。
Linux迁移