Other Parts Discussed in Thread: Z-STACK, , CC2592
AN123 published in 2014 predates ZStack 3.0 and Z3.0 raises some memory issues around Key storage for large 400+ Z3.0 networks
In the ZStack 3.0 Developers Guide
S 10.6.3 "Z-Stack Security Considerations", S 10.6.3.1 "For TC Devices" Reads:
"...This limits the number of devices in the network to the number of entries that the TC can have."... and "...This optimization allows a Z3.0 TC device to have up to ZDSECMGR_TC_DEVICE_MAX Z3.0 devices in the network..."
For the cc2538 the ZDSECMGR_TC_DEVICE_MAX define in ZDSECMGR.h is '40' (Z3.0 devices).
If my understanding is correct the subsequent preprocessor test of the number of NV entries yields a max of 238, (ZCD_NV_TCLK_TABLE_END - ZCD_NV_TCLK_TABLE_START) and this TCLK Link Key table is followed sequentially in NV number range by the APS Link Key Table (ZComDef.h).
Does TI offer any further guidance to achieving the AN123 Breaking the 400 Node Barrier in light of ZStack 3.0 for a network of solely Z3.0 devices?
Ideally guidance additional to the source code comment of extending the range of TCLK IDs, i.e. is it best to use a new number NV TCLK range or bump all the subsequent NV number ranges higher?
Also regarding the developers guide info in 10.6.3.2 "For Joining Devices", the joining Jitter. How to effectively implement a jitter routine for factory new ZC3.0 devices joining at the same time presumably so as to avoid simultaneously filling the Install Code Key NV scratchpad space ZCD_NV_APS_LINK_KEY_DATA_START (to ZCD_NV_APS..._END) and stall or lose joining requests?
The 2014 AN123 also mentions the need for joining jitter it's S 3 "Test Application", a range of 60secs prevent traffic congestion - is this still sufficient for ZC3.0?
Also how to safely extend the size of the HAL_NV_PAGE_CNT from the default of 6 (hal_board_cfg.h) to accommodate the additional Z3.0 TCLK entries of APSME_TCLKDevEntry_t (APSMEDE.h, size 12 bytes each) i.e. will the CC2538's dual OTA image memory ranges or other code be impacted perhaps requiring manual changing of defined memory spaces?
Also will a joining Jitter alone be sufficient or should I also expand the APS Link Key NV number range and storage allocation for a 400+ node network?
Are there other items I need to consider for a ZC3.0 400+ node network implementation especially as I can't test it until after mass production (and installation)?
Thanks in advance.