Bluetooth 用于嵌入式系统的成熟蓝牙协议栈?

Bluetooth 用于嵌入式系统的成熟蓝牙协议栈?,bluetooth,embedded,Bluetooth,Embedded,我想要一个成熟的蓝牙协议栈在嵌入式系统上使用的建议。 它必须是轻量级的,并且具有相对较低的占地面积 最好它也是开源的,支持BLE,可以在没有操作系统的情况下运行。但这些并不是严格要求的 它不一定是免费的。它也将用于商业用途 我正在运行一个STM32处理器(ARM),它要么直接支持,要么足够通用,这样就可以很容易地移植它 亲切问候您使用的是什么蓝牙芯片或模块 您可能会发现芯片制造商可以为您提供嵌入式BT堆栈 例如,优秀蓝牙4.0芯片的供应商CSR(剑桥硅无线电)就有一种叫做Synergy的产品,这

我想要一个成熟的蓝牙协议栈在嵌入式系统上使用的建议。 它必须是轻量级的,并且具有相对较低的占地面积

最好它也是开源的,支持BLE,可以在没有操作系统的情况下运行。但这些并不是严格要求的

它不一定是免费的。它也将用于商业用途

我正在运行一个STM32处理器(ARM),它要么直接支持,要么足够通用,这样就可以很容易地移植它


亲切问候

您使用的是什么蓝牙芯片或模块

您可能会发现芯片制造商可以为您提供嵌入式BT堆栈

例如,优秀蓝牙4.0芯片的供应商CSR(剑桥硅无线电)就有一种叫做Synergy的产品,这是一种用于嵌入式设备的BT协议栈。有一个Android和WinCE版本,但也有一个核心版本,可以移植到许多不同的操作系统和硬件平台

www.csrsupport.com


我认为Broadcom也生产BT芯片。

你可以看看Smalltooth。它的目标是PIC24和PIC32,但可能适用于ARM。
是一个从零开始编码的开源蓝牙协议栈,其中考虑了嵌入式设备。

请查看我们的BTstack蓝牙协议栈


它似乎符合你的所有要求

Apache现在有一个名为BLE的开源堆栈,可以在其操作系统上运行。它运行在nRF5x芯片上,是唯一一个模糊完整的开源BLE堆栈。我还没试过,但看起来不错

编辑:我试过了。到目前为止(2016年9月),它确实有效——您可以读取/写入/通知特征等。有一些功能缺失,但它肯定是可用的


请注意,代码编写得非常好(例如,他们甚至记录了哪些函数在中断上下文中运行!),但它是经典的C89,因此有大量手动内存管理、令人担忧的指针魔术、信任数组长度等等。在他们的代码< Neut