通过测试发现,ZDSECMGR_TC_DEVICE_MAX设置超过112,会导致协调器NV Restore保存失败,协调器无法断电保存。
Alvin Chen:
理论上可以65535,实际上受限于内存。我在帮客户做MTO设置中曾经做过128个。此外YiKai Chen YK做过600node。请在下面的连接下优化你的flash 和ram。
http://www.ti.com/lit/wp/swra635/swra635.pdf
http://processors.wiki.ti.com/index.php/Zigbee_Known_Issues_and_Proposed_Fixes
Aries Lord:
回复 Alvin Chen:
忘了说,我使用的是CC2652R ,SDK为3.20。测试发现,如果ZDSECMGR_TC_DEVICE_MAX设置过大,协调器启动时,ZCD_NV_APS_LINK_KEY_TABLE写入失败,ZCD_NV_BDBNODEISONANETWORK也会写入失败。导致协调器运行不正常
Alvin Chen:
回复 Aries Lord:
我看你另一个帖子上说的怎么是200? 如果过大可能是导致NV不够用的情况出现。
e2e.ti.com/…/835122
Aries Lord:
回复 Alvin Chen:
设置200个时会出现创建网络失败的问题,debug发现ZCD_NV_APS_LINK_KEY_TABLE写入错误;降到128个,发现ZCD_NV_BDBNODEISONANETWORK写入错误。
Alvin Chen:
回复 Aries Lord:
方便把你的参数贴出来吗?
Aries Lord:
回复 Alvin Chen:
f8wcoord.opts/* Coordinator Settings */ -DZDO_COORDINATOR/* Coordinator Functions */ -DRTR_NWK/* Router Functions */ -DZDSECMGR_TC_DEVICE_MAX=130zstack_bdbStartCommissioningReq_t startReq = {0};startReq.commissioning_mode = BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_NWK_STEERING;Zstackapi_bdbStartCommissioningReq( cmdPktTaskId, &startReq );
Alvin Chen:
回复 Aries Lord:
你好,我在新版SDK里面测试了一下当设置值过大时会出现ZC无法传输TCLK的情况,这应该是协议栈的问题,我们将在英文论坛讨论这个问题。
Alvin Chen:
回复 Alvin Chen:
大致试了一下,100左右会出现问题,我设置为ZDSECMGR_TC_DEVICE_MAX=80功能正常。