Bluetooth 寻找STM32F4的开源蓝牙协议栈(HCI)

Bluetooth 寻找STM32F4的开源蓝牙协议栈(HCI),bluetooth,stm32,stm32f4,Bluetooth,Stm32,Stm32f4,我是蓝牙开发新手,我希望通过uart将ST STM32F4 MCU连接到蓝牙模块 MCU必须具有HCI实现来配置和管理蓝牙模块 关于在ST STM32F4上实现上述HCI的开源蓝牙协议栈,有什么建议吗 谢谢 之前我对MCU可用的开源蓝牙协议栈进行了研究。 首先,我认为即使不支持STM32F4,移植HCI蓝牙堆栈也应该很容易,因为唯一的平台依赖层是HCI传输层,实现传输层不会太难,因为它使用UART。但我意识到这比我想象的要难,因为我稍后会提到这个原因 我发现有三个蓝牙协议栈: ,Apache许可

我是蓝牙开发新手,我希望通过uart将ST STM32F4 MCU连接到蓝牙模块

MCU必须具有HCI实现来配置和管理蓝牙模块

关于在ST STM32F4上实现上述HCI的开源蓝牙协议栈,有什么建议吗


谢谢

之前我对MCU可用的开源蓝牙协议栈进行了研究。 首先,我认为即使不支持STM32F4,移植HCI蓝牙堆栈也应该很容易,因为唯一的平台依赖层是HCI传输层,实现传输层不会太难,因为它使用UART。但我意识到这比我想象的要难,因为我稍后会提到这个原因

我发现有三个蓝牙协议栈:

  • ,Apache许可证
  • ,Apache许可证
  • ,类似BSD的许可证,未经许可不得用于商业用途
  • 前两件事与它们自己的RTO紧密耦合。它们是去年针对物联网市场推出的全新RTOS。您可能会被迫坚持使用他们的RTO,并且他们的外围支持还不成熟。尽管它们都支持一些STM32F4,但使用STM32F4外设的全部功能可能会有问题。然而,RTOSs都很有前途,因为MyNeWT是Apache基金会项目,ZePHR OS是由英特尔管理的Linux基金会项目。因此,这两个版本在未来都将是一个不错的选择,但在我写这篇文章的时候可能还没有准备好(对于STM32)。顺便说一下,他们只支持BLE,不支持蓝牙EDR(如蓝牙音频)

    最后一个是BTstack,它只针对裸机设备上的纯双模蓝牙堆栈。唯一的问题是,它的许可证类似于BSD,并附加了一个条款,只允许将其用于非商业项目。所以AFAIK它将与Apache和GPL许可证不兼容,您必须为商业项目付费

    我希望这会有帮助