主题:CC2640R2F 中讨论的其他器件
工具/软件:
您好:
我的客户在生产系统中遇到问题、希望了解系统应如何从错误消息中恢复。 此问题非常罕见、无法在实验中重现。 SDK 为 3_40_00_10。
问题是 BLE 广播 意外停止。 主控制器通过始终启用广播来定向 BLE 器件 (即使在 BLE 连接之后,当广播在协议固有地停止时,也会请求恢复广播) 。
错误代码为 HCI_BLE_HARDWARE_ERROR_EVENT_CODE 和 HCI_DATA_BUFFER_OVERRUN_EVENT、但客户无法确定其中一个发生与上述问题有关、因为该问题无法在实验中重现。
问题:
- 如果 正在进行广播、这 2 个错误代码中的一个是否会实际停止广播?
- BLE 堆栈是这些错误代码的唯一来源、还是这些错误代码可以由操作系统等生成?
- 这 2 个事件也是 GAP 事件吗? (将 ICALL_SERVICE_CLASS_BLE 作为源、将 HCI_GAP_EVENT_EVENT 作为事件类型)
- 有哪些方法可以降低其发生的可能性? 这篇文章 提出了一些建议;还有其他建议吗?
- 如果发生这 2 个错误中的一个、操作系统是否仍在工作、调度任务并刷新看门狗? (他们会询问,因为他们测试了看门狗并正确复位了置位/故障、主机控制器能够检测 BLE 复位并重新启动广播。 但是、如果操作系统仍在运行、而只有 BLE 栈卡住,看门狗将不会复位,对吗?)
- 如果发生这些错误、BLE 栈能否自行恢复、或者主机控制器是否应捕获错误代码并命令 BLE 器件复位?
谢谢你。
此致、
François μ s。