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.

[参考译文] CC2652R7:SNV API 被永久阻止

Guru**** 2524680 points
Other Parts Discussed in Thread: CC2652R7, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1526889/cc2652r7-snv-api-is-blocked-forever

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

工具/软件:

SDK:SimpleLink CC13xx cc26xx SDK 7.41.0.17

器件:CC2652R7 BLE Simple Peripheral。


 CC2652R7 与六个以上主机绑定后、SNV 无法再读取或写入。

如果出现此问题、则当触发  osal_SNV_Read/osal_SNV_write/osal_SNV_compact API 时、线程将被永久阻止、API 将无法再返回。

如果擦除 SNV 区域、则问题很突出。

您是否知道 BLE 绑定将导致 SNV API 被永久阻止?

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

    您好:

    感谢您联系我们! 这可能是由于绑定信息与闪存中实际 SNV 区域之间的重叠造成的。 您在 SysConfig 中将支持的绑定的最大数量设置为多少?

    此致、

    Tarek

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

    尊敬的 Tarek:

    这是我的 Bond Manager 配置。 我将支持的债券的最大数量设置为 16。 这对于六台主机应该足够了。

     有一件事我不确定、我没有一直启用绑定、只是在 BLE 处于配对模式时启用绑定。 绑定完成后、绑定将被禁用。 禁用绑定是否会导致 SNV 数据丢失?

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

    我还有一个问题:BLE 指南提到索引不能超过 0xFF、但 SDK 中 BLE_NVID_CUST_START 的定义值已经超过 0xFF。 这是否会导致闪存区域重叠?

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

    您好:

    BLE_NVID_的索引值不能超过 0xFF 间隙 _bond 和 BLE_NVID_ GATT _CFG、不是 BLE_NVID_CUST。

    发生问题时、SNV 区域是什么样子的? 您是否注意到有任何覆写事件发生? 我在这里要寻找的是查看 BLE 堆栈是否与 SNV 区域重叠。

    此致、

    Tarek

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

    我已在问题发生后读出 SNV 区域、起始地址和大小如上图所示。 您能否解释一下 SNV 区域的存储结构? 我应该如何分析该领域的数据?

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

    您好:

    我建议在问题发生之前和之后检查 SNV 区域的差异。  

    您是否还可以在调用 SNV API 的位置共享代码块?

    此致、

    Tarek

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

    我发现、只要外设尚未重新启动、它就可以与 6 个以上的主机保持配对。 但是、一旦外围设备在与超过 6 台主机配对后重新启动、将阻止运行 SNV 区域。 我先尝试与 5 台主机配对、然后在 SNV 区域添加了大量客户数据(比与 6 台主机配对时的数据要多得多)、并且仍然成功地与第 6 台设备配对。 因此、我认为问题与数据区域的大小无关、而是仅限于 5 个设备。 您是否知道哪些配置会影响绑定设备的最大数量?

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

    您好、Allen、

    更改 SYSCFG 文件中的设置应该足以增加绑定数。  

    您是否还可以在调用 SNV API 的位置共享代码块?

    我也将尝试在我的最后复制这一点。

    此致、

    Tarek D

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

    代码非常简单、如下所示。  我已经 增加了债券的数量到 16 如上面的 SYSCFG 文件所示。 还有一个发现、当 I 定义 OSA_SNV=2 时、我可以与 6 或 7 个器件配对。 否则、只能配对 5 个器件。

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

    您好、Allen、

    我现在正在研究这件事、以了解背后的原因、但这是否解决了您的问题?

    此致、

    Tarek D

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

    不幸的是、不是。 甚至把 债券的数量增加到 16 还没有解决这个问题。 值得注意的是、如果设备不重新启动、它可以与超过 9 个以上的设备配对、但只能配对一次 与 6 个以上器件配对 重新启动 、它无法再运行 SNV。

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

    已移动到电子邮件

    此致、

    Tarek D