SWRA671 June   2020 CC1312R , CC1312R , CC1314R10 , CC1314R10 , CC1352P , CC1352P , CC1352R , CC1352R , CC1354P10 , CC1354P10 , CC1354R10 , CC1354R10 , CC2652P , CC2652P , CC2652R , CC2652R , CC2652R7 , CC2652R7 , CC2652RB , CC2652RB , CC2652RSIP , CC2652RSIP

 

  1.   Cloning Z-Stack Network Properties Using the SimpleLink Wireless MCU Family
    1.     Trademarks
    2. Introduction
    3. Abbreviations and Acronyms
    4. Tool Versions
      1. 3.1 Command Line Interface (CLI)
      2. 3.2 MAC OS Application
      3. 3.3 Windows Executable
    5. Trust Center and Non-Volatile Memory
    6. Multi-Page NVM
    7. MT Interface
    8. Zigbee Coordinator Setup Procedure
    9. Zigbee Coordinator Cloning Procedure
      1. 8.1 Cloning: Method One
      2. 8.2 Cloning: Method Two
    10. Zigbee Coordinator Cloning Procedure Example
    11. 10 Other Application Considerations
    12. 11 Summary
    13. 12 References
  2.   A TI Zigbee Network Properties Cloning Tool Guide
    1.     A.1 Tool Layout
    2.     A.2 Configuration File
    3.     A.3 Content File
    4.     A.4 Application Selection
    5.     A.5 COM Ports
    6.     A.6 Read Settings
    7.     A.7 Write Settings
    8.     A.8 Output Settings
    9.     A.9 Save/Load Settings
    10.     A.10 Help
  3.   B Establishing a Serial Connection
    1.     B.1 Serial Connections
    2.     B.2 Detecting COM Ports

MT Interface

The MT API provides the structure of the commands sent to the device over the serial/UART connection in order for a host tester to communicate with a Zigbee device. In order to properly clone the network properties of a ZC, the contents in the memory regions for the entries in Table 2 will need to be read, stored, and then written to a new device that will take the place of the existing coordinator. The procedure for enabling MT commands on the ZC is in Section 8. For this application the SYS_OSAL_NV_READ, SYS_OSAL_NV_WRITE, SYS_NV_LENGTH, SYS_NV_READ, and SYS_NV_UPDATE commands are used to accomplish the task of cloning the ZC. Below is a summary of the frame content for these MT commands.

Table 5. Representation of Bytes within MT Frames

Frame Component Description
Start of Frame Represented by the hexadecimal byte, ‘0xFE’, and is used to signify the beginning of the frame sent from either the host or the device itself.
Length A byte that is used to indicate the length of the frame header excluding the CDM0, CMD1, and FCS bytes. In order to read the entire frame it is important to account for the bytes not represented by the length byte.
Command (CMD0) Represents the type, upper 4 bits, and subsystem, lower 4 bits, of frame to be sent or received. The API guide lists the different types and subsystems. The ‘S’ before request (REQ) and response (RSP) signifies a synchronous response. The subsystem of interest is the system (SYS) type, represented by byte 0x01.
Command (CMD1) 8-bit command ID code, which maps to a specific interface message for the Subsystem specified in Cmd0. The CMD1 byte will be the same in the SRSP as it is in the SREQ sent to the device.
Sys ID This value is only applicable to tables/lists listed in Table 3. It represents the system in which the tables/lists are associated to. The ID codes for this field can be found in the 'nvintf.h' file within (Application-> Services -> nvintf.h).
Item ID/ ID Signifies a unique ID to be interpreted by the NV driver for particular memory content. As previously stated this value can be found within the ‘zcomdef.h’ file in the Z-Stack.
Sub ID Sub IDs are only applicable to tables/lists listed in Table 3; it is used to index an entry in the specified table/list.
Offset How far to start reading from the beginning of the memory region. In most cases this value is always zero since the entire memory content of an item is desired to be read or written to.
Frame Check Sequence Byte responsible for error checking. Starting with the length byte each byte is XOR’ed with each other until the last byte before the FCS. This value is then XOR’ed with the FCS byte. If the final result is 0 then the check was successful, if it is 1 then there was a problem in the frame delivery. To send a frame this value must be calculated.
Status

Delivered from the device in order to indicate whether the read or write was successful. A zero means the read or write was successful, a one means it was unsuccessful.

LEN The amount of bytes found within the data part of the frame. Not to be mistaken with the length portion of the frame.
Value The content stored in the NVM of the requested location specified in the frame while taking into account the offset.

NOTE

Refer to the Z-Stack Monitor and Test API for specific details about the MT API Interface