shared-bus: 多设备间安全共享总线的开源解决方案

shared-bus: 多设备间安全共享总线的开源解决方案

shared-bus Crate for sharing buses between multiple devices shared-bus 项目地址: https://gitcode.com/gh_mirrors/sh/shared-bus

一、项目基础介绍及编程语言

shared-bus 是一个用Rust语言编写的开源项目,旨在为嵌入式系统提供一种在多个设备之间安全共享总线(如I2C、SPI等)的解决方案。在嵌入式HAL(硬件抽象层)生态中,通常每个驱动程序都会“拥有”它所操作的总线,这意味着一次只能有一个驱动程序访问特定的总线。然而,当多个设备连接到单个总线时,这种设计就出现了问题。shared-bus 通过为每个驱动程序提供一个内部管理总线访问的 bus-proxy 来解决这个问题。

二、项目的核心功能

项目的主要功能是允许在多个设备之间安全地共享总线,即使这些设备可能运行在不同的任务或线程中。具体功能如下:

  • 单任务/线程内共享: 当所有总线用户都在单个任务或线程中时,总线共享非常简单,不需要特殊的同步机制。此时可以使用 BusManagerSimple

  • 跨任务/线程共享: 当需要在多个任务或线程之间共享总线时,需要确保所有总线访问都被严格序列化,防止竞争条件。shared-bus 提供了针对不同平台的特定 BusMutex 实现,以及用于创建具有 'static 生命周期的 bus-manager 的宏。

  • 支持多种总线类型: 目前支持I2C、SPI和ADC等总线类型的共享。

三、项目最近更新的功能

根据项目最近的更新记录,以下是一些新增或改进的功能:

  • 改进了SPI总线的共享支持: 之前SPI总线只能在其所在的单个任务内共享,现在的更新允许在更广泛的场景下使用SPI总线的共享功能。

  • 新增了对特定平台的支持: 项目增加了一些新的 BusMutex 实现,以支持更多的嵌入式平台和操作系统。

  • 优化了内部同步机制: 提高了跨任务/线程共享时的性能和可靠性。

  • 更新了文档和示例: 新增了更多的使用示例和文档,以帮助开发者更好地理解和使用这个项目。

这些更新进一步增强了 shared-bus 的实用性和灵活性,使其成为嵌入式系统开发者共享总线问题的首选解决方案。

shared-bus Crate for sharing buses between multiple devices shared-bus 项目地址: https://gitcode.com/gh_mirrors/sh/shared-bus

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潘俭渝Erik

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值