Distribute the new application
The first phase of performing an over-the-air update on a device is transferring the new firmware file to the target node. Load the new firmware image in the target node's GPM prior to installation. XBee/XBee-PRO SX RF Modules use an encrypted binary (.ebin) file for both serial and over-the-air firmware updates. These firmware files are available on the Digi Support website and via XCTU.
Send the contents of the .ebin file to the target device using general purpose memory WRITE commands. Erase the entire GPM prior to beginning an upload of an .ebin file. The contents of the .ebin file should be stored in order in the appropriate GPM memory blocks. The number of bytes that are sent in an individual GPM WRITE frame is flexible and can be catered to the user application.
Example
The example firmware version has an .ebin file of 55,141 bytes in length. Based on network traffic, we determine that sending a 128 byte packet every 30 seconds minimizes network disruption. For this reason, you would divide and address the .ebin as follows:
|
GPM_BLOCK_NUM |
GPM_START_INDEX |
GPM_NUM_BYTES |
.ebin bytes |
|
0 |
0 |
128 |
0 to 127 |
|
0 |
128 |
128 |
128 to 255 |
|
0 |
256 |
128 |
256 to 383 |
|
0 |
384 |
128 |
384 to 511 |
|
1 |
0 |
128 |
512 to 639 |
|
1 |
128 |
128 |
640 to 767 |
|
- |
- |
- |
- |
|
- |
- |
- |
- |
|
- |
- |
- |
- |
|
107 |
0 |
|
54784 to 54911 |
|
107 |
128 |
|
54912 to 55039 |
|
107 |
256 |
101 |
55040 to 55140 |
PDF
