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.

[参考译文] CC2642R:BLE 重复连接和断开连接期间出现 iCall 中止函数错误

Guru**** 2535150 points
Other Parts Discussed in Thread: CC2642R, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1562644/cc2642r-icall-abort-function-error-during-repeated-ble-connection-and-disconnection

器件型号:CC2642R
主题: SysConfig 中讨论的其他器件

工具/软件:

您好:

我正在将 CC2642R 用于 BLE 应用。 为了进行测试、我们开发了一个小型 python 实用程序(使用开源 bleak 库)、该实用程序可连接到外设 CC2642R(基于简单外设示例开发的代码)、执行某些操作并断开连接。 在保持 5 秒睡眠时间的情况下、我们会持续执行此类操作。  
但在调试时、我们观察到 iCall 空闲堆栈 每个连接断开周期的空间都会持续减少。 它不断减少到无法进一步连接和程序进入内存错误的程度。

通过标准 BLE 扫描仪应用 (Android 和 iOS) 执行相同的重复操作不会导致可用内存的这种减少。 我的问题是、如何在断开连接后释放分配的存储器、这样即使主器件没有使用所需的命令终止链路、CC2642R 也应该能够释放分配的所有存储器。

绑定和配对处于禁用状态、而 SysConfig 中的 GATT 无客户端设置处于启用状态。 CC2642R 已保持直接连接、未提供密钥选项。

谢谢。此致

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

    您好、Raj、

    感谢您联系我们! 我对您的项目有几个问题。

    • 您是否在应用程序中使用任何 iCall API? 如果是、哪些 API 以及时间? 如果不是,是什么让你说 iCall 自由堆栈正在减少? 请详细说明
    • 您正在执行哪种类型的操作?
    • 您使用的是哪个 SDK?

    回答这些问题应该有助于我们缩小根本原因的范围。

    此致、

    Tarek D

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

    您好 Tarek、

    -->我只在我创建的主任务中使用了 iCall_registerApp()。 在将应用程序放置在调试位置之后、我们观察到了这一点  

          -->当我们尝试使用任何标准应用程序(例如 LightBlue 或 BLE Scanner)执行操作时,iCall 堆栈大小 (totalFreeSize 和 largestFreeSize ) 保持相对不变(如果不是增加)

          -->然而,当通过 Python 实用程序连接时,断开连接后的堆大小 (totalFreeSize 和 largestFreeSize ) 减少到约 228 个字节(已执行相同的操作)

    -->在该任务中、从移动应用收到特定命令后、它使用多个驱动程序、如 AES、UART、TRNG  

    -->当前使用版本 7_41_00_17

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

    您是 在连接之前还是之后更新 Advertisement 参数?

    如果是、则说明您的工作方式。

    如果没有,那么你的应用程序是什么。你可以尝试另一个窗口应用程序,如果同样的行为?  

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

    您好:

    否、我不更新任何广播参数。 仅对讲机的发射功率会根据接收到的命令进行更改。  

    正在使用的 Windows 应用程序是一个 python 实用程序(使用开源“bleak Library“)。 我正在使用它来读取、写入和通知。  

    我尝试过不同的库(蓝怪),但与相同的结果(掉落在 iCall)

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

    您好、Raj、

    很遗憾、我对您使用的 python 库没有任何经验。 您是否可以发送两个数据包监听器日志、一个在使用标准应用时、另一个在使用 python 库时。 也许我们可以发现问题所在。

    此致、

    Tarek D

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

    您好 Tarek、

    很抱歉这么晚回复。 但您能说明发送两个数据包监听器日志的过程吗? 您是指使用 Wireshark 读取广播信道数据吗?

    此致、
    Raj

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

    您好、Raj、

    数据包监听器日志是捕获周围环境中的射频数据包。 它将检测附近的 BLE 数据包、并为我们提供重要信息、以便我们更好地了解情况。 有很多方法可以采取它们。

    此致、

    Tarek D