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.

CC2530: Zigbee network parameters backup

Part Number: CC2530
Other Parts Discussed in Thread: Z-STACK

I have network formed with CC2530 coordinator. For backup purposes I'll like to backup network parameters and if this coordinator dies, I'll flash another one with same firmware and restore network parameters.

Which NV parameters (PAN, Channel, Extended PAN, ...) I need to backup to achieve this?

  • Hey Zarko,

    I've forwarded your question to the appropriate expert. They should get back with you soon.

  • Try to refer to . To clone ZC of Z-Stack 3.0.x, you still need to clone ZCD_NV_BDBNODEISONANETWORK and ZCD_NV_NWK_SEC_MATERIAL_TABLE_START as well

  • Hi Zarko,

    In addition to the information provided by YK, here are the network properties required along with their Item IDs:

    ZCD_NV_PANID: 0x0083
    ZCD_NV_EXTADDR: 0x0001
    ZCD_NV_EXTENDED_PAN_ID: 0x002D
    ZCD_NV_BDBNODEISONANETWORK: 0x0055
    ZCD_NV_NIB: 0x0021
    ZCD_NV_NWK_ACTIVE_KEY_INFO: 0x003A
    ZCD_NV_NWK_ALTERN_KEY_INFO: 0x003B
    ZCD_NV_EX_NWK_SEC_MATERIAL_TABLE: 0x0007
    ZCD_NV_EX_TCLK_TABLE: 0x0004
    ZCD_NV_EX_TCLK_IC_TABLE: 0x0005
    ZCD_NV_GROUP_TABLE: 0x0042

    The item IDs can be found within Stack/Sys/zcomdef.h 

    In order to read the tables correctly you will need to include the FEATURE_NVEXID predefine symbol to your project.

    There is a know issue (ZIGBEE-698: http://dev.ti.com/tirex/explore/content/simplelink_cc13x2_26x2_sdk_4_10_00_78/docs/zigbee/release_notes_zigbee_4_10_00.html) that the inclusion of FEATURE_NVEXID causes compile errors. This is getting corrected in the next SDK release. Until then you can add the following code to get rid of the compiler errors:

    Within the nvintf_nvfuncts_t struct in 'nvintf.h' add the following:

    //! Write the extended item function
    NVINTF_writeItemEx writeItemEx;

    Within nvocmp.c add the following function declaration to 'NV API Function Protoypes' section:

    static uint8_t    NVOCMP_writeItemExApi(NVINTF_itemID_t id, uint16_t dataOfs, uint16_t length, void *buf);

    Use the sys_nv_read/sys_nv_update commands instead of the sys_osal_nv_read and sys_osal_nv_write commands to read tables like the TCLK and NWK Security tables.

    For tables/lists the NV driver uses a System ID (0x01), Item ID (found in zcomdef.h), and a Sub ID (Starting at 0x0000, this value represents the index of an item in the table/list) in order to properly access the contents. 

    Hope this helps, please let me know if you have any questions. 

    Best Regards,

    Marlyn