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.

[参考译文] CC2745R10-Q1:读取 SDK 9.10 中的绑定信息 (GapBondMgr_readBondFromNV) 时的约束

Guru**** 2538950 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1558663/cc2745r10-q1-the-constraints-when-reading-bonding-information-gapbondmgr_readbondfromnv-in-sdk-9-10

器件型号:CC2745R10-Q1


工具/软件:

请在 SDK 9.10 中提供有关读取绑定信息 (GapBondMgr_readBondFromNV) 的限制的指导。

由于绑定信息是在执行配对时写入的、因此我们会等待绑定信息写入完成 (GAPBOND_PAIRING_STATE_Bond_saved)、
但是、在 ① 和 ② 情形中、操作方式有所不同、如下所述:

① 如果您在完成绑定信息写入后立即读取绑定信息、则用于读取绑定信息的 API 将无响应。
② 如果在完成绑定信息写入后等待 100ms、然后读取绑定信息、则读取成功。
※点 ② 是操作检查过程中的一个误解。 无论等待时间如何、加载绑定信息都会失败。

我期望绑定信息读取在操作 ① 中成功。 请就实现这一目标的方法提供指导。

此外、在 SDK 8.30 中、完成写入后立即读取绑定信息 (gapBondMgrReadBondRec) 可以正常工作。

此致、
Yukine

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

    您好:

    您从 API 收到的错误代码是什么?

    此致、

    Nima Behmanesh

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

    您好、

    用于读取绑定信息的 API (GapBondMgr_readBondFromNV) 无响应、因此我无法检查 API 错误代码。
    请告诉我如何检查错误代码。

    此致、
    Yukine

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

    您好:

    请详细说明您所说的“变得没有响应“。

    1.芯片是否无响应? 如果是、请连接一个调试器并获得一个调用栈供我分析、以便我能够识别停止。

    2.您是否正在使用带外配对?

    此致、

    Nima Behmanesh

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

    您好、

    > 1. 芯片是否无响应?
    >如果是,请连接调试器并获取一个调用栈供我分析,以便我能够识别停止。

    我们的验证方法不合适、API 实际上是响应式的。
    但是、由于它仍然没有达到预期效果、我们希望您继续提供指导。

    在初始 BLE 连接和配对完成后、当我们尝试读取绑定信息 (GapBondMgr_readBondFromNV) 时、它会返回 bleGAPBondItemNotFound (0x36)。
    我们的理解是、在初始 BLE 连接和配对完成之间的某个时间、绑定信息应保存到非易失性存储器中。 这是正确的吗?
    此外、是否有办法可以验证绑定信息是否实际已写入非易失性存储器?

    > 2. 您是否正在使用带外配对?
    是的、我使用它。


    此致、
    Yukine

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

    您好:

    在初始 BLE 连接和配对完成之后、当我们尝试读取绑定信息 (GapBondMgr_readBondFromNV) 时、它返回 bleGAPBondItemNotFound (0x36)。

    这是返回代码有点差、因为这不是真正的问题。 这将在下一个版本的 SDK 中实际进行更改。

    出现此返回代码的原因是缺少对等设备 LTK、但这是预期的、因为不必分发对等设备 LTK。  

    如上所述、下一个 SDK 将对此进行修复、该修复将删除此返回代码。

    您也可以通过在发生此问题时读取债券记录的内容自行验证。 你会发现 devLTK 丢失,但这是预期的。

    此外、是否有办法验证绑定信息是否已实际写入非易失性存储器?

    由于接收的是 0x36 而不是 0x34、因此绑定信息位于非易失性存储器中。 否则、此 API 将返回不同的错误代码。 此函数实际上从 NV 区域接收绑定记录、因此同样、返回代码为 0x34、它根本不存在。

    此致、

    Nima Behmanesh

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

    您好、

    由于收到的是 0x36 而不是 0x34、因此绑定信息位于非易失性存储器中。 [/报价]

    如果返回了 bleGAPBondItemNotFound (0x36)、我想知道如何检索绑定信息。
    与成功的情况一样、是否可以从第四个参数 pBondRecord 获取绑定信息?



    此致、
    Yukine