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.

[参考译文] LP-EM-CC1354P10:ZDSECMGR_TC_DEVICE_MAX 上限

Guru**** 2457760 points
Other Parts Discussed in Thread: Z-STACK, CC2674P10, CC2652P, CC1354P10

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1385908/lp-em-cc1354p10-zdsecmgr_tc_device_max-upper-limit

器件型号:LP-EM-CC1354P10
主题中讨论的其他器件:CC2674P10CC2652P、Z-STACK、 CC1354P10

工具与软件:

我在 CC2674P10上发现、我可以设置的器件最大数量似乎存在限制:

#define ZDSECMGR_TC_DEVICE_MAX 100

任何大于此值的值都将导致网络构建以静默方式失败、因此 NIB 永远不会被设置。

过去、Zigbee2MQTT 固件已在 CC2652P 上将其设置为200、在 CC1652P7上将其设置为300、而不会出现任何问题。 不过、我只是无法让这些值在 CC2674P10上工作。


对我来说、NVOCMP 中的空间可能不足。 我已经尝试增加 NVPAGES 的大小、该位是否有效或实际有效?

/* The starting address of the application.  Normally the interrupt vectors  */
/* must be located at the beginning of the application.                      */
#define FLASH_PAGE_SIZE		0x2000
#define FLASH_BASE              0x0
#define FLASH_SIZE              (0x100000 - (NVOCMP_NVPAGES * FLASH_PAGE_SIZE))
#define FLASH_NV_BASE           (0x100000 - (NVOCMP_NVPAGES * FLASH_PAGE_SIZE))
#define FLASH_NV_SIZE           (NVOCMP_NVPAGES * FLASH_PAGE_SIZE)

是否有可能像这样覆盖它? 或者 NVPAGES 是否仍然限制为0x800 (2KB)而不管怎样?

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

    Tim、您好!

    可以增加 CC13x4/CC26x4器件上的 Z-Stack NV 存储器。 请参阅 Z-Stack 用户指南之 修改非易失性存储器 分配中的此信息。  由于本指南是为 CC13x2/CC26x2器件编写的、因此必须考虑到一些差异。  以下示例是将 NV 存储器加倍(10个闪存页面):

    • cc13x4_cc26x4_tirtos_ticlang.cmd:
      • #define NVOCMP_NVPAGES 10.
      • 请勿更改 FLASH_PAGE_SIZE、它应保持为0x800 (CC13x4/CC26x4器件的特定页面大小)
    • *。syscfg -> NVS -> CONFIG_NVSINTERNAL:
      • 区基地址0xFB000
      • 区域大小为0x5000
    • 可选:从"Project Properties"->"CCS Build"->"Arm Linker"->"Advanced Options"->"Command File Preprocessing"中删除 NVOCMP_NVPAGES=2 (这适用于 CC13x2/CC26x2命令链接器文件、可能会创建构建警告、但不应干扰 cc13x4_cc26x4_tirtos_ticlang.cmd 内部的硬定义)。

    可修改 NV 页数以满足您的需求。   您可以在生成的 default/*。map 文件中查看输出分配:

    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      FLASH                 00000000   000fb000  00036bb3  000c444d  R  X
      FLASH_NV              000fb000   00005000  00005000  00000000  RW X
      GPRAM                 11000000   00002000  00000000  00002000  RW X
      SRAM                  20000000   00040000  0000bc7d  00034383  RW X
      CCFG                  50000000   00000800  0000007c  00000784  RW  
      LOG_DATA              90000000   00040000  00000000  00040000  R   

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="114053" URL"~/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1385908/lp-em-cc1354p10-zdsecmgr_tc_device_max-upper-limit/5298758 #5298758"]可选:从"项目属性"->"CCS Build"->"Arm Linker"->"Advanced Options"->"Command File Preprocessing"中删除 NVOCMP_NVPAGES=2 (这适用于 CC13x2/CC26x2命令链接器文件、可能会创建构建警告、但不应干扰 cc13x4/ticlang 链接器内部的硬定义)[[CC13x4/ticlang 链接器文件。

    感谢提示。 我尝试的第一件事是增加页数,但被消息抛出,说有6页的限制。

    无论如何、这已经有所帮助、我现在可以访问 ZDSECMGR_TC_DEVICE_MAX=200、但即使使用15个 NVPAGES、也无法超过该值、这会导致内存错误或超时错误的随机问题。

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

    与 CC2674上的堆大小相关的更改是什么?

    我注意到在  cc13x4_cc26x4_tirtos_ticlang.cmd 内设置了 HEAPSIZE
    以及常用的 HEAPMGR_SIZE。
    两个寄存器似乎是不同的存储器区域?

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

    我没有太多关于 CC13X4/CC26X4器件的 HEAPSIZE 分配的信息、但鉴于 CC1354P10上的 RAM 内存量、您应该能够慷慨增加 HEAPSIZE 和 HEAPMGR_SIZE、而不会产生任何后果。  我建议查看构建的输出*。map 文件以查看 SRAM 分配。

    请记住、对于在网络上有效通信的设备数量(即单个信道上的流量过大)以及在设备和多个路由器之间留出适当大小的空间以帮助减少 Zigbee 网状网络中任何特定节点上的应力、存在物理限制。

    此致、
    Ryan

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

    是的,我很清楚这一点,我不是增加那么多的直接儿童限制!