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.

[参考译文] 回复:CC2651R3:在键合存储和删除中观察到的不一致

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1302799/re-cc2651r3-observed-inconsistency-in-bond-storage-and-deletion

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

您好、Clement、  

到目前为止这一点得到了澄清。  

但我们还有一些观察结果、请您尽快查找并恢复、因为我们有 SOP 正在处理:

1.使用 GapBondMgr API, GAPB博 博博洛斯博洛蒂斯 Mgr_Set 状态表(GAPBOND_ERASE_ALLBONDS, 0, NULL)删除邦德需要多长时间。 此外、我们如何验证债券是否被正确删除?

2.在下面的截屏中提到,如果 SysConfig 中的 MAX_Bonds 设置超过10,则绑定将失败

  

   因为当我们测试债券删除时,我们发现债券并没有删除 FIFO 方式(似乎是从债券列表中随机选择债券)

3.当我们尝试配对并绑定多次时,我们会按照以下顺序得到堆内存故障。

   

1) 1)将工具设置为可配对模式

2) 2)连接

3)发现服务

4) 4)从加密中读取。 字符型

5) 5)接受配对请求对话框

6) 6)从加密中读取。 字符型

7) 7)断开连接

——循环以下操作——

8) 8)将工具设置为可配对模式

9) 9)连接

10)发现服务

11)从加密中读取。 字符型

12) 12)断开连接

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

    在主题3上)"堆内存故障"我们假设堆上丢失的每个配对周期大约有200-300字节

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

    您好!

    感谢您与我们联系。

    首先、让我多指定一个此设备上绑定和非易失性存储的功能。
    当两个器件发生结合时、几条信息存储在闪存(也称为非易失性存储)中、以便它们能够承受断电或复位。
    为了防止闪存老化并节省功耗、存储在闪存中的数据不会在每次更新时被擦除。 相反、数据将无效、并且新值将存储在新位置。 本文档 以更详细的方式对此进行了解释。

    1)这个问题没有简单的答案、因为它取决于您选择的配置以及您所说的"已擦除"的含义。
    之前已经讨论过"擦除"的概念。
    对于配置、可将堆栈配置为在连接时擦除或不绑定。 可以通过 SysConfig 设置此配置(请参阅 BLE > Bond Manager > Erase Bond in Active Connections)

    2) 2)我不确定您所指的屏幕截图是否仍然有效。 我的意思是、正如在另一个线程中所讨论的、现在代码配置为同时处理10个以上的键合。 您能指出您找到此附注的位置吗?
    也可以使用 SysConfig 配置键合替换策略。 当选择 SysConfig 参数 BLE > Bond Manager > LRU Bond Replacement (BLE > Bond Manager > LRU Bond 置换)时、当达到存储的最大键合数时、将删除最近最少使用的键合、以便为新键合腾出空间。 如果需要其他策略、应用程序应处理键合更换。

    3)是否意味着存在记忆泄漏? 是否仅在更改极少的情况下、使用 simple_peripheral 示例设法复制? 您能否指定 SDK 版本?

    此致、

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

    您好、Clement、

    感谢您的立即响应。

    有关问题的更多详细信息:

    1.我仅在器件未连接时擦除键合、使用 如下 API:

      

       

    2.我使用的是 BLE SDK v6.20、我注意到以下链接中的"注意事项" :BLE5-Stack SysConfig 功能—SimpleLink CC13XX/CC26XX SDK BLE5-Stack 用户指南2.02.06.00文档。 此外、SDK 文档->位于路径 ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/docs/ble5stack/ble_user_guide/html/SysConfig/ble5-syslog.html#bond-manager-configurations 中

    3.我会尝试用示例项目重现并就这一点与您联系。

         

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

    您好、Clement、

    由于我们即将发布版本、请在此及时请求您的支持。

    谢谢你。

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

    您好!

    我的印象是所有的问题都得到了回答,我正在等待你的意见#3。

    您能帮助我了解哪些问题仍有待解答吗?

    此致、

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

    您好、Clement、

    如果您可以确认我的#1和#2配置,那就很好了。

    #1. 绑定删除配置

    #2.  

    我不确定您引用的屏幕截图是否仍然有效。 我的意思是、正如在另一个线程中所讨论的、现在代码配置为同时处理10个以上的键合。 您能指出您找到此附注的位置吗?
    也可以使用 SysConfig 配置键合替换策略。 当选择 SysConfig 参数 BLE > Bond Manager > LRU Bond Replacement (BLE > Bond Manager > LRU Bond 置换)时、当达到存储的最大键合数时、将删除最近最少使用的键合、以便为新键合腾出空间。 如果需要其他策略,则应用程序应处理绑定替换。

    您是否注意到以上链接中的"注释"、表示 MAX Bonds limi 为10、超出了这一范围会导致键合故障。

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

    您好!

    感谢您提供的详细信息。

    #1 -您选择的配置将导致只有在连接终止后才以物理方式删除绑定。 这并不是一个问题,只是我提到这个,以确保我们在同一个页面:)

    #2 -我已经回顾了 SDK 6.20中嵌入式代码的内容,似乎该注释与此无关(这就是为什么它在以后被删除的原因)。

    此致、