|嵌入式开发:5个RTOS设计最佳实践( 二 )
5. 不要将信号量用作互斥体
互斥量和信号量是为不同的目的而设计的 。 互斥锁旨在提供对资源的互斥访问 。 信号量是为任务通知和协调而设计的 。
设计人员和开发人员经常使用二进制信号量作为互斥体 。 互斥锁可以锁定/解锁资源 。 可以给出或获取二进制信号量 , 从而导致看起来很像锁定/解锁的状态 。 但是 , 这两者之间有一个重要的区别 。 互斥体有一个称为优先级继承的特性 。 在优先级倒置的情况下 , 优先级继承可以提升任务的优先级 , 将优先级倒置的影响降到最低 。
信号量不支持优先级继承 , 因此当用作互斥体时会导致优先级反转和其他设计问题 。 确保你了解这些差异 , 并且永远不要使用信号量来保护数据访问 。 使用正确的工具 , 即互斥锁 。
结论
RTOS 设计正在成为或已经成为嵌入式开发人员需要执行的一项常见活动 , 很多困难可以通过我们刚刚研究的5个RTOS设计最佳实践来缓解 。 仔细研究这些方法 , 你可以避免很多烦恼 。
- meta|促进更逼真AR/VR体验,Meta正在开发全新空间音频工具
- NVIDIA的DLSS技术已经深受玩家和开发者认可|性能2倍于DLSS!AMD游戏神技FSR 2.0正式支持Xb
- 蓝牙AOA定位那点事系列085:如何应对第一次合作软件开发合作伙伴的问题和需求
- 酷家乐|硬件创业:智能硬件产品详细开发指南
- 苹果|苹果CEO库克证实公司正在开发虚拟现实设备,有望1月上市
- 软件开发|手机维修培训中心-一加9r一加9rt开启coloros12升级公测招募
- 前端开发|Web前端:前端开发人员与后端开发人员,谁最适合你的业务?
- 乐视|AMD推出新的锐龙嵌入式R2000系列
- 台积电|美专家公开发声,给了中芯一颗“定心丸”?
- 华为手机|原来华为手机智慧识屏,还隐藏着5个实用功能,还没用过就可惜了
