This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2564:Bluetopia 栈挂起

Guru**** 2386610 points
Other Parts Discussed in Thread: CC2564, MSP430F5437A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/570212/cc2564-bluetopia-stack-hangs

器件型号:CC2564
主题中讨论的其他器件: MSP430F5437A

我们在产品中使用 CC2564蓝牙模块、并查看模块和/或蓝牙堆栈的间歇性锁定。

处理器: MSP430F5437A

蓝牙: CC2564

堆栈:     Bluetopia SDK V1_52R2  

操作系统:       无

到目前为止、我们还没有能够在生产环境中调试软件、但我们看到了一些故障、从 C2564到 MSP430的 CT 一直被置为无效。  在这些情况下、固件已成功运行。   在其中一种情况下,我们能够看到 HCITRNS.C:482 LoadTransmitBuffer()中锁定的固件

/*循环、直至 Tx 缓冲器中的空间可用*/
while (UartContext.TxBytesFree <= 0)

这显然与蓝牙模块不接受新数据的情况一致。

虽然我们无法在实验室中完全重现此问题、但我们确实看到了一个类似的问题、可以使用 TI 的示例代码轻松重现。

*运行 blutopia 发行版中包含的 SPPLEDemo_Lite 项目(可能与其他演示相同)

*可以使用 Lightblue 看到 BLE 广播。

*停止处理器-将发现 PC 正按照预期进行 LPM3调用

*在 BTPSKERNL.C:791 BTPS_AllocateMemory()上设置断点

*运行于

*使用浅蓝色连接到设备。  将达到断点。

*禁用断点

*运行于

*堆栈现在将处于锁定状态。  不会看到广告。

*在此状态下中断代码将显示 PC 卡在 bluetopia 库中的循环中。

该产品确实需要稳定可靠的运行时间、可达数年之久。