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.

[参考译文] CC2652P:向 TC 添加安装代码时、返回 ZApsTableFull (b2)

Guru**** 2589245 points
Other Parts Discussed in Thread: Z-STACK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1040633/cc2652p-return-zapstablefull-0xb2-when-adding-install-code-to-tc

器件型号:CC2652P
Thread 中讨论的其他器件:Z-stack

在 ZNP 设备上使用 MT_AppCnfBDBAddInstallCode 将安装代码添加到 TC 时、返回 ZApsTableFull (0xb2)的状态。 ZNP 出厂时已重置、在添加安装代码之前未添加任何节点。 我跟踪了代码、找不到 返回 ZApsTableFull 的位置、可能它在 APSME_AddTCLinkKey 中? 有什么想法来解释这个 zStatus 值? 谢谢。

此致、

水阳

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

    您好、Shuyang、

    假设您已经使用 APP_CNF_BDB_SET_JOINUSESINSTALLCODEKEY 将 zgAllowInstallCodes 设置为 ZG_IC_MOUSE_USED, ZApsTableFull 表示在使用给定的扩展地址搜索器件时找不到条目。  该设备应在加入网络之前进行初始化。  请记住、安装代码对于每个连接设备都是唯一的、不适用于 TC 本身。  因此、您应该确保为 APP_CNF_BDB_ADD_INSTALLCODE 提供正确的 IEEEAddress、且 LSB 在前。  如果这些建议不起作用、请提供机器翻译命令的内容以供进一步评估。

    此致、
    Ryan

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

    协调器中的 Maxim-Install-Code 存储器默认为40(),,但在设备加入之前,安装代码似乎已输入协调器。 一旦器件加入成功、其安装代码将无用、z-stack 将删除它。

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

    您好、Ryan 和 Aries、

    感谢您的回复。 我们遵循了 Ryan 提到的步骤、这个问题只发生在客户的一些电路板上、因此我认为它与堆栈设置有关。

    我刚刚获得了有关该问题的另一条信息、即  ZDSECMGR_TC_DEVICE_MAX 在此项目中设置为128、而 ZDSECMGR_TC_DEVICE_MAX 保持为40。 这是否会导致 zApsTableFull 错误?

    我对 "安装代码"键条目还有另一个问题: 如果由于主机的操作不当而在条目中添加了错误的安装代码、由于从未使用过此安装代码、它不会被擦除、它是否会导致安装代码表已满并阻止正常加入设备? 如果是这样、我们是否有清理安装代码表的方案?

    此致、

    水阳

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

    您好、Shuyang、

    如果   填充了 ZDSECMGR_TC_DEVICE_MAX、则可以在 APSMT_AddTCLinkKey 中生成 ZApsTableFull。  请注意,如果 zgAllowInstallCodes 等于 ZG_IC_SUPPORTED_NOT_REQUIRED,则可以检查“安装代码”表,以验证加入设备在无线发送之前是否具有 NWK 密钥,但这不是必需的。  否则、对于 ZG_IC_UST_USE_USDEused、必须提供安装代码。

    如果 在 APP_CNF_BDB_ADD_INSTALLCODE 命令中使用相同的扩展地址、则只 需使用新的安装代码更新相同的 ZCD_NV_EX_TCLK_IC_TABLE 条目。   支持高达 ZDSECMGR_TC_DEVICE_IC_MAX 的唯一扩展地址、并且可以通过使用 SYS_OSAL_NV_READ 读取 NV 表并使用 SYS_OSAL_NV_DELETE 删除不正确的条目来跟踪这些地址。

    此致、
    Ryan

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

    ZDSECMGR_TC_DEVICE_MAX 设置为128、您应使用3页闪存 ROM 设置 NV-RAM

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

    我可以向您展示基于 CC2652R1的协调器的正确样本设置、我位于成都。

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

    您好、Ryan、

    您能否详细说明安装代码如何存储在 TCLK IC 表中? 如果要添加功能以根据特定的超时删除未使用的安装代码、如何实现它?

    此致、

    水阳

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

    安装代码在  ZCD_NV_EX_TCLK_IC_TABLE 内进行索引、 并可使用 APSME_AddTCLinkKey 进行添加。  也可以从 APSMG_SearchTCLinkKeyEntry 中搜索条目以发现其索引(使用扩展地址搜索)、从而使用 APSMG_EraseICEntry 将其删除。

    由于此用例涉及 ZNP 固件、因此可以定义 MT_SYS_KEY_MANAGEMENT、从而访问 MT_ZdoRemoveLinkKey。

    此致、
    Ryan