Bosch XDK110 General Information Manual page 43

Cross-domain development kit platform for application development
Hide thumbs Also See for XDK110:
Table of Contents

Advertisement

!
3.6.5 FOTA Update Process
1. Initiation
To initiate the firmware update process, a sensor has to be registered at the LWM2M server and
expose the FirmwareUpdate object. The server then sends the FirmwareUpdate.PackageURI to
the LWM2M client that serves the FOTA container. The client reacts to a change of the Package
URI by setting FirmwareUpdate.UpdateResult = 0 (Default) and checking the validity of the
provided Package URI. In case the URI is valid, the LWM2M client sets FirmwareUpdate.State = 1
(Downloading) to initiate the download process. Otherwise the client sets FirmwareUpdate.
UpdateResult = 7 (Invalid URI) and aborts the further update process.
2. Download
While FirmwareUpdate.State = 1 (Downloading) the main application task periodically requests the
next firmware package until all packets are received, unless a communication sequence is running
within normal operation (park notification, LWM2M update registration).
Upon receipt of a package, its content is stored sequentially to update the firmware starting at a
specific download address. Once the container header has been fully downloaded, the LWM2M
client checks whether enough memory is available and verifies the version of the downloaded
firmware binary. In case there is not enough memory available or the version of the downloaded
firmware binary is not greater than the currently running version the update result is set to
FirmwareUpdate.UpdateResult = 2 (Not enough storage) or FirmwareUpdate.UpdateResult = 6
(unsupported package type) and the further update process is aborted. Once the binary is
completely downloaded, the update result is set to FirmwareUpdate.State = 2 (Downloaded).
Note that the firmware download will automatically resume whenever the node was restarted
during the download process.
3. Verification
The verification process starts as soon as the LWM2M server calls FirmwareUpdate.Update. The
node then verifies the CRC of both the firmware and the container header. If the CRC is invalid the
node sets FirmwareUpdate.UpdateResult = 5 (CRC check failure).
4. Booting
If performing the update resource was successful and the application has rebooted properly and
resumed normal operation, it needs to set FirmwareUpdate.UpdateResult = 1 (Firmware updated
successfully) and FirmwareUpdate.State = 1 (Idle).

XDK110
© Bosch Connected Devices and Solutions GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as
copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.
General Information Guide XDK110
Page ! 4 3
BCDS

Advertisement

Table of Contents
loading

Table of Contents