🔐 FreeRTOS 互斥量 · 死锁实战
📘 30 章节
⚙️ 进阶实战
🧩 友好
🎯 从入门到项目
01
RTOS与互斥量概述
什么是实时操作系统 · 为什么需要互斥量 · FreeRTOS简介
02
临界区与资源竞争
临界区概念 · 资源竞争的产生 · 竞态条件示例
03
互斥量核心原理
数据结构 · 优先级继承 · 与二值信号量区别
04
互斥量API详解
xSemaphoreCreateMutex · Take · Give
05
互斥量实战
保护全局变量 · 保护串口打印
06
死锁的产生
四个必要条件 · 经典场景
07
死锁示例分析
两个任务互相等待
08
死锁预防策略
固定加锁顺序 · 加锁超时
09
死锁避免算法
银行家算法在RTOS中应用
10
死锁检测与恢复
检测循环 · 任务重启策略
11
优先级反转问题
什么是优先级反转 · 危害
12
优先级继承机制
FreeRTOS实现 · 代码分析
13
优先级天花板协议
原理与实现 · 对比优先级继承
14
递归互斥量
xSemaphoreCreateRecursiveMutex · 递归加锁
15
互斥量与任务通知
任务通知替代场景 · 性能对比
16
中断中的互斥量
ISR注意事项 · fromISR函数
17
守护任务模式
队列代替互斥量 · 守护任务设计
18
无锁编程基础
原子操作 · 内存屏障 · FreeRTOS实现
19
无锁队列实现
环形缓冲区 · 多生产者多消费者
20
互斥量性能分析
上下文切换开销 · 临界区长度优化
21
互斥量调试技巧
Tracealyzer · 死锁日志分析
22
多核系统中的互斥量
SMP FreeRTOS · 自旋锁
23
互斥量与功耗管理
Tickless模式 · 低功耗设计
24
互斥量在文件系统中的应用
FatFS与互斥量 · 多任务文件操作
25
互斥量在协议栈中的应用
TCP/IP协议栈 · LWIP示例
26
互斥量测试方法
单元测试 · 压力测试 · 覆盖率
27
常见互斥量错误
忘记释放 · 重复获取 · 中断阻塞
28
互斥量设计模式
RAII封装 · 作用域锁 · C++包装
29
综合案例1
多任务传感器数据采集系统
30
综合案例2
智能家居控制中心 (互斥量+队列+事件组)
⚡ 点击任意卡片直达对应课程 · 30个实战章节