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.

[参考译文] CC2650:连续广播

Guru**** 2584355 points
Other Parts Discussed in Thread: CC2640

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/593655/cc2650-continuous-advertising

器件型号:CC2650
主题中讨论的其他器件:CC2640

我有9个 CC 2650器件。 我修改了 sensor.c 文件、将广播从限制更改为常规。 24小时后、所有绿色 LED 指示灯继续闪烁、但只有3个器件能够发现。 是否有人知道这是为什么、以及为什么在所有电路板上都不是一样的? 我需要它们来进行所有广告连续. 谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我只能说...我也是。 关于这种悬空的问题有几个问题尚未得到解答。 如果您可以为 TI 用户提供编译器、BLE 堆栈和 RTOS 的版本以及您正在使用的 CCS 或 IAR 版本、可能会有所帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将使用 CCS 7.1.0、BLE_SDK_2_02_01_18、适用于 CC13xx 和26xx (2.20.1.08)的 TI-RTOS、编译器 TI v17.3.0.STS。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该蓝牙堆栈的推荐编译器为5.2.6

    供参考当您使用另一个编译器时、他们的行为似乎略有不同-仍然不确定他们为什么停止广告。 我最终在时钟函数中放置了一些代码、将广播标志改回"打开"状态。

    外设配置文件中存在一个有趣的小错误、即如果它返回 GAPROLE_ERROR、它将永远不会重新广播、因为广播代码不会检查该状态(在此论坛中搜索 GAPROLE_ERROR)。 修复相当简单、但它将取决于您在应用程序代码中执行的其他操作-即、每当我遇到它无法进行广播和抛出 GAPROLE_ERROR 时、这是因为 GAP 的状态对于广播不正确、它连接到其他内容。 但是、明确地说强制它返回到广告必然会起作用是不够一致的、因为、嗯、它不会起作用。

    可能必须强化您的应用程序并捕获 Hwi 和 Swi 的异常、然后将该内容置于一个定时重启周期、直到您发现问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您回来、我将介绍 GAPROLE_ERROR。  我找不到 CCS 5.2.6 (我看到的是5.2.0和5.3.0) 、或者它建议用于 ble 堆栈的任何位置。 在 CCS wiki 中、它建议使用我拥有的最新版本。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您查看 ble_sdk 的 docs 目录、应该会有类似 SWRU393_CC2640_BLE_Software_Developers_Guide.pdf 的文件

    在我的中(对于 ble_sdk_2_02_01_18)、在第29页中、它说:

    从下载具有 TI ARM 编译器5.2.6的 CCS 版本6.2 (或更高版本)
    processors.wiki.ti.com/.../Download_CCS。如果所需的 TI ARM 编译器、则按指定
    在版本说明中、默认情况下不安装、有关安装的步骤、请参阅第2.6.3.2节
    所需的 TI ARM 编译器版本。

    2.6.3.2安装特定的 TI ARM 编译器
    要安装特定的 TI ARM 编译器、请参阅以下步骤和图2-9
    1.帮助->安装新软件
    2.从 Works with 下拉菜单中选择代码生成工具更新
    3.展开 TI 编译器更新。
    4.取消选中“Show only the latest versions of software”(仅显示最新版本的软件)
    5.选择所需的 ARM 编译器工具版本。
    6.按下一步完成安装。

    wiki 在某些方面有些矛盾,但当 TI 人在第一个问题中发出蜂鸣声时,他们会问您是否使用5.2.6作为编译器:-)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您回来。 我找到了5.2.6并使用了它、但我仍然看到同样的问题... 我在一个小时前刷新了我的所有板、但只有6/9仍在广告中。 如果您有任何其他建议、我非常感谢您的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果他们在一小时内发生故障、可能会让一个调试器连接到调试器、看看您是否能赶上调试器发生故障、即在 BLE 堆栈可能引发错误的地方放置一个断点。

    正如我说过的、我的器件几乎有相同的问题、我的器件停止了广告、尽管用各种方式对其进行了一个月的测试、但我还是无法找出原因。  我们会定期重新启动固件中的设备。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    将在这里添加一个小数据点:如果我断开调试器与我的一个器件的连接、当其他一个原型停止广播时、我可以使用调试器重新连接到它。

    被停止的器件始终位于地址0x10003982 -当您单步执行它们再次开始工作时。
    CCS 表示该地址没有源代码、但提供了反汇编、看起来不是很常见。

    任务堆栈都可以。
    ROV 没有报告任何异常
    堆正常。

    一件奇怪的事情是、系统中两个时钟的剩余时间比我预期的实际时钟节拍要大。 时钟是否可能未运行?

    看起来、当时钟超过节拍时、应该切断时钟的子系统没有运行、但重新连接调试器时钟会再次断开。 有人以前见过类似的东西吗?