Over-The-Air Firmware Updates; Distribute The New Application - Digi XBee 868LP User Manual

Radio frequency (rf) modules
Hide thumbs Also See for XBee 868LP:
Table of Contents

Advertisement

Advanced application features

Over-the-air firmware updates

There are two methods of updating the firmware on the device. You can update the firmware locally
with XCTU using the device's serial port interface. You can also update firmware using the device's RF
interface (over-the-air updating.)
The over-the-air firmware update method provided is a robust and versatile technique that you can
tailor to many different networks and applications. OTA updates are reliable and minimize disruption
of normal network operations.
In the following sections, we refer to the node that will be updated as the target node. We refer to the
node providing the update information as the source node. In most applications the source node is
locally attached to a computer running update software.
There are three phases of the over-the-air update process:
1.

Distribute the new application

2.
Verify the new application
3.
Install the application
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
868LP RF Modules use an encrypted binary (.ebin) file for both serial and over-the-air firmware
updates. These firmware files are available on the
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
0
0
0
0
1
1
-
-
-
XBee 868LP RF Modules User Guide
Digi Support website
GPM_START_INDEX
0
128
256
384
0
128
-
-
-
Over-the-air firmware updates
and via XCTU.
GPM_NUM_BYTES
128
128
128
128
128
128
-
-
-
.ebin bytes
0 to 127
128 to 255
256 to 383
384 to 511
512 to 639
640 to 767
-
-
-
118

Advertisement

Table of Contents
loading

Table of Contents