🧩 VxWorks 信号量
30章 · 实战目录
⚡ 同步 · 互斥 · 资源管理
1
信号量基础
什么是信号量?为什么需要信号量?VxWorks信号量概述。
➔
2
二进制信号量
创建与删除、获取与释放、典型应用场景(任务同步)。
➔
3
计数信号量
创建与配置、资源计数管理、典型应用场景(资源池管理)。
➔
4
互斥信号量
优先级继承机制、递归锁特性、与二进制信号量的区别。
➔
5
信号量API详解
semBCreate、semCCreate、semMCreate、semTake、semGive、semFlush。
➔
6
任务同步实战
使用二进制信号量同步两个任务。
➔
7
资源保护实战
使用互斥信号量保护共享资源。
➔
8
生产者-消费者模型
使用计数信号量实现。
➔
9
经典同步问题
读者-写者问题在VxWorks中的实现。
➔
10
死锁预防
死锁产生的四个必要条件、VxWorks中的预防策略。
➔
11
优先级反转
问题描述、VxWorks互斥信号量的优先级继承解决方案。
➔
12
信号量与中断
在ISR中使用信号量的注意事项、semGive从ISR调用。
➔
13
信号量超时机制
semTake的超时参数、轮询与阻塞模式。
➔
14
信号量状态查询
semShow、semInfo等调试工具的使用。
➔
15
多资源同步
使用多个信号量协调多个任务。
➔
16
信号量与消息队列对比
适用场景、性能差异、选择建议。
➔
17
看门狗与信号量
结合看门狗定时器实现超时保护。
➔
18
信号量在驱动开发中的应用
硬件资源互斥访问。
➔
19
信号量在网络协议栈中的应用
缓冲区管理同步。
➔
20
信号量性能分析
任务切换开销、测量与优化。
➔
21
常见错误模式
忘记释放信号量、重复获取、优先级反转误判。
➔
22
调试技巧
使用WindView分析信号量行为。
➔
23
高级话题
信号量与任务删除安全、信号量与异常处理。
➔
24
实战项目1
双核通信中的信号量使用。
➔
25
实战项目2
基于信号量的内存池管理器。
➔
26
实战项目3
多任务日志系统。
➔
27
实战项目4
传感器数据采集与处理流水线。
➔
28
实战项目5
命令解析与执行框架。
➔
29
综合案例
嵌入式飞行控制器中的任务同步设计。
➔
30
课程总结
信号量选择决策树、最佳实践、常见面试题。
➔