1 互斥量及优先级继承机制
- FreeRTOS 提供的互斥量可以通过
优先级继承算法,可以降低优先级翻转问题产生的影响,所以,用于临界资源的保护一般建议使用互斥量。
1.1 优先级继承机制
- 在 FreeRTOS 操作系统中为了降低优先级翻转问题利用了优先级继承算法。优先级继
承算法是指,
暂时提高某个占有某种资源的低优先级任务的优先级,使之与在所有等待该 资源的任务中优先级最高那个任务的优先级相等,而当这个低优先级任务执行完毕释放该 资源时,优先级重新回到初始设定值。因此,继承优先级的任务避免了系统资源被任何中 间优先级的任务抢占 - 优先级不继承时,导致H任务等待时间=M任务执行时间+L任务执行时间
- 优先级继承时,H任务等待时间=L执行时间,M任务不会抢占L任务
2 示例
- 配置使能
- 句柄
- Main
- 创建互斥量
- LowPriority_Task
- MidPriority_Task
- HighPriority_Task
- 实验结果(H任务等待时间=L执行时间,M任务不会抢占L任务)