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.

[参考译文] CC1352P:允许更多器件加入 ZNP 创建的网络的正确方法是什么?

Guru**** 3001220 points

Other Parts Discussed in Thread: UNIFLASH, Z-STACK, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1020733/cc1352p-what-is-the-correct-way-to-allow-more-devices-to-join-the-network-created-by-the-znp

器件型号:CC1352P
主题中讨论的其他器件:UNIFLASH、 Z-stack、 SysConfig

您好 TI!

我需要增加可加入 ZNP 创建的网络的设备数量(100)。

为此、我将网络最大设备列表增加到100 (默认值为20)、如图 A 所示

但在加载新固件后、我尝试从先前固件的属性克隆网络属性、并在写入所有属性时出错。

使用 TI Zigbee Netowork Properties Cloning 软件时、会出现如图 B 所示的相同问题

我还将内部 NVS 存储器大小增加到了0x8000、但我也遇到了相同的问题。

请注意、允许更多设备加入网络而不影响克隆过程的正确方法是什么?

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

    您好、albgarc、

    增大区域大小时、还必须减小区域基地址、修改 cc13x2_cc26x2.cmd 中的 FLASH_SIZE/FLASH_NV_BASK/FLASH_NV_SIZE、并从 Project Properties -> CCS Build -> Arm Compiler -> Predefined Symbols 中更改 NVOCMP_NVPAGES。  请在 Z-Stack 用户指南 -> Z-Stack 概述中找到所有说明

    此致、
    Ryan

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

    您好!

    如果 FLASH_NV_SIZE 设置为0x8000、则将 FLASH_NV_BASE 减小到0x4E000。  ZDSECMGR_TC_DEVICE_MAX  (确定 ZC TC 节点可以允许加入网络的最大器件总数)应相应增加

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

    尊敬的 Ryan Brown 和 David SI:

    非常感谢您的回答和时间、  

    描述:

    1) 1)我进行了所有更改、以使 NVOCMP_NVPAGES = 3。 它运行得非常好(运行和停止 Linux 服务器并执行网络属性克隆)。

    2-)但后来我增加了网络最大设备列表(NWK_MAX_DEVICE_LIST)= 100、在运行和停止 Linux 服务器并尝试克隆网络属性后、我无法克隆网络属性。 我遇到写入故障(在 TI 应用程序中会出现相同的问题)。

    3-)如果我只增加最大唯一 TC 链接密钥(ZDSECMGR_TC_DEVICE_MAX)= 100、则它可以完美运行(运行和停止 Linux 服务器并克隆网络属性)。


    问题:

    1) 1)我应该修改哪个变量(NWK_MAX_DEVICE_LIST 或 ZDSECMGR_TC_DEVICE_MAX)来允许多达100个终端器件连接到 ZigBee 网络处理器(ZNP)?

    2) 2)在没有其他问题的情况下、增加网络最大器件列表(NWK_MAX_DEVICE_LIST)的正确方法是什么?

    非常感谢!

    最好的 rgeds!

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

    如果您打算将100个终端器件直接连接到 ZC ZNP、则应将 NWK_MAX_DEVICE_LIST 和 ZDSECMGR_TC_DEVICE_MAX 修改为100。

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

    您好、albgarc、

    您使用的是哪个 SimpleLink SDK 版本?  是否已确保擦除所有 NV 内存并将修改后的 ZNP 固件(NVOCMP_NVPAGES = 3次更改)编程到您尝试写入的新器件?  您在原始器件上读取的 NV 信息的内容是什么?

    此致、
    Ryan

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

    尊敬的 Ryan Brown1:  

    衷心 感谢您的帮助和时间。

    SimpleLink SDK versión 是的  5.10.00.48。

    是的、我已从 Uniflash 中擦除整个闪存并加载了新固件。  

    附件是我尝试写入的文件。  

    非常感谢。

    此致。  

    e2e.ti.com/.../BKC.txt

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

    尊敬的 YiKai Chen:  

    衷心 感谢您的帮助和时间。

    此致。  

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

    您能否  根据您的 NV 配置使用正确的 ZCD_NV_EX_TCLK_TABLE 条目更新 config_nv_regions.txt?  我还注意到您的 ZCD_NV_PANID 无效(0xFFFF)、即使 ZCD_NV_BDBNODEISONANETWORK 为 true。

    此致、
    Ryan

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

    尊敬的 Ryan Brown:  

    非常感谢 您的帮助和时间、

    是的、.txt 文件不正确、但与文件无关、我的问题是、当我增加网络最大设备列表并运行 Linux 服务器时、在停止 Linux 服务器后、我无法复制网络属性(任何写入命令都无法成功)。

    我已根据安装情况增加了 NV 存储器大小。

    我已执行以下测试:


    1)我仅增加了 NV 存储器 NVOCMP_NVPAGES (3和5)、并相应地增加了 FLASH_SIZE、FLASH_NV_BASE、"区域基础"、
    FLASH_NV_SIZE、区大小。

    一切都很完美。

    2) 2)我仅增加了存储器 NVOCMP_NVPAGES (3和5)、从而增加了 FLASH_SIZE、FLASH_NV_BASE、Region Base、
    FLASH_NV_SIZE、区大小。 同时、我还增加了最大唯一 TC 链接密钥。

    一切都很完美。

    3)我仅增加了存储器 NVOCMP_NVPAGES (3和5)、因此 FLASH_SIZE、FLASH_NV_BASE、"区域基地"、
    FLASH_NV_SIZE、区大小。 同时、我还增加了网络最大设备列表。

    我无法写入网络属性。

    我的问题是增加网络最大设备列表。 在这种情况下、我无法写入网络属性。


    请、是否有任何可能发生这种情况的想法?

    此致、泰恩库再次  

    此致

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

    使用 CC1352R1 Z-Stack v5.20 ZNP 项目、在 项目预定义中设置 NVOCMP_NVPAGES=3、在  SysConfig 的 Z-Stack 网络设置中将网络最大器件列表和最大唯一 TC 链接密钥更改为100、将 SysConfig NVS 模块的 CONFIG_NVSIONNAL 区域基地址更改为0x50000、将区域大小更改为0x6000、 并更改了 CC13x2_26x2.cmd、使 其适用于 FLASH_SIZE/FLASH_NV_BASE = 0x50000和 FLASH_NV_SIZE = 0x6000。  之后、该项目被编译并加载到 LaunchPad 上、然后我使用 Z-Tool 调试了网络并加入了器件。  然后、我使用 Z-Tool 从现有 ZC 读取所有 NV 区域、并可以从我刚刚生成的文件中将它们写回、而不会出现任何问题。

    此致、
    Ryan

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

    很棒!!!

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

    您是否使用 ZTool 来编写 网络属性?

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

    此致、非常感谢!

    它似乎最终得到解决、

    我只是在 ncocmp.c 文件中编辑 NVOCMP_NVPAGES。  

    现在、在运行和停止 Linux 服务器后、我可以写入网络属性。 这以前没有发生过。

    在项目属性->预定义符号-> NVOCMP_NVPAGES=3中。  

    最后一个问题、

    现在我在项目网络最大器件列表= 100、最大唯一 TC 链接密钥= 100。

    那么 ZCD_NV_EX_TCLK_Table*将有100个子 ID 为0x00至0x63的条目、对吧?

    与 ZCD_NV_EX_EX_TCLK_IC_TABLE 相同?

    在这两种情况下、每个条目保持20个字节?

    非常感谢! 此致

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

    你好,Yi Kai Chen!

    我们使用我们团队开发的自己的 Linux 应用程序。  

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

    ZCD_NV_EX_TCLK_TABLE 将有100个条目、每个条目27个字节 来自 ZDSECMGR_TC_DEVICE_MAX、同样  、ZCD_NV_EX_DEVICE_LIST 将有100个条目、每个条目23个字节来自 NWK_MAX_DEVICE_LIST。  由于 NV TI 驱动程序开销、每个条目写入闪存的实际字节数会增加。  ZCD_NV_EX_EX_TCLK_IC_TABLE 仅在 BDB_DEFAULT_Join_uses_install_code_key 为 true (即使用了安装代码)时适用、每个条目将为23字节。

    此致、
    Ryan

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

    真诚地感谢您!

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

    您好 TI!

    是否有任何文档介绍了如何对表 ZCD_NV_EX_TCLK_TABLE 进行格式化、从而允许出于诊断目的手动读取数据?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    没有、但 NV 数据由 APSME_TCLinkKeyNVEntry_t 填充、因此这是一个很好的调查参考。

    此致、
    Ryan

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

    您好、Ryan、

    在我们的备份文件中、我们注意到 ZCD_NV_EX_TCLK_TABLE 通常从最后一个条目开始被填充。 是否需要这样做、因此当移除器件时、堆栈会将所有其他条目移动一个、或者在两个条目之间也可以有零行、如本示例中所示:
    ZCD_NV_EX_TCLK_Table*:0x0004:0x01:0x005A:0x14:000d01ff00124b00096616c7000000000079
    ZCD_NV_EX_TCLK_Table*:0x0004:0x01:0x005B:0x14:000201ff00124b00096609da000000000079
    ZCD_NV_EX_TCLK_Table*:0x0004:0x01:0x005C:0x14:000000ff00000000000000000000000000000000000000000000000000000000
    ZCD_NV_EX_TCLK_Table*:0x0004:0x01:0x005D:0x14:000000ff000000000000000000000000000000000000000000000000000000000000
    ZCD_NV_EX_TCLK_Table*:0x0004:0x01:0x005E:0x14:000000ff000000000000000000000000000000000000000000000000000000000000
    ZCD_NV_EX_TCLK_Table*:0x0004:0x01:0x005F:0x14:000000ff000000000000000000000000000000000000000000000000000000000000
    ZCD_NV_EX_TCLK_Table*:0x0004:0x01:0x0060:0x14:000a01ff00124b0008eb318500000000000000000079
    BR、
    Randy
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Randy、

    NV 项目表的有效子 Id 条目之间的间隙应适当、因为它们都是同时初始化的、并且不会确定 NV 内的实际位置。

    此致、
    Ryan