|嵌入式开发:5个RTOS设计最佳实践( 二 )
5. 不要将信号量用作互斥体
互斥量和信号量是为不同的目的而设计的 。 互斥锁旨在提供对资源的互斥访问 。 信号量是为任务通知和协调而设计的 。
设计人员和开发人员经常使用二进制信号量作为互斥体 。 互斥锁可以锁定/解锁资源 。 可以给出或获取二进制信号量 , 从而导致看起来很像锁定/解锁的状态 。 但是 , 这两者之间有一个重要的区别 。 互斥体有一个称为优先级继承的特性 。 在优先级倒置的情况下 , 优先级继承可以提升任务的优先级 , 将优先级倒置的影响降到最低 。
信号量不支持优先级继承 , 因此当用作互斥体时会导致优先级反转和其他设计问题 。 确保你了解这些差异 , 并且永远不要使用信号量来保护数据访问 。 使用正确的工具 , 即互斥锁 。
结论
RTOS 设计正在成为或已经成为嵌入式开发人员需要执行的一项常见活动 , 很多困难可以通过我们刚刚研究的5个RTOS设计最佳实践来缓解 。 仔细研究这些方法 , 你可以避免很多烦恼 。
- 贾跃亭|FF回应贾跃亭被“炒鱿鱼”:只是减少公司的职责,权限为开发和管理
- Twitter|FF回应贾跃亭被解除职务:在公司的职责减少,仅限于开发和管理
- 云计算|苹果正在开发几款新的 Mac,这些 Mac 将配备四种 M2 芯片型号
- 以太坊|以太坊开发者:挖矿算法合并可能推迟,建议不要买以太坊矿机
- 半导体|国产半导体设备公司中微:5nm以下芯片工艺开发中
- 三星|三星内存技术突然落后!决定中断12nm DRAM芯片开发:直上11nm
- 网络安全|门店私域运营的5个误区
- 育碧开发者谈游戏设计:并不是做的越大型就越好
- OLED|三星将推出采用LG面板的OLED电视,并开发“更薄且卷曲”的QD-OLED
- 虽然苹果在9月份才会召开发布会|iphone14渲染图曝光:小刘海造型布局完全一致