nRF Connect SDK API 0.1.0
Loading...
Searching...
No Matches
suit_dfu.h File Reference

Module providing tools to the Local domain Core allowing to orchestrate the SUIT DFU. More...

Go to the source code of this file.

Functions

int suit_dfu_initialize (void)
 Initialize the SUIT DFU before it can be used.
 
int suit_dfu_cleanup (void)
 Purge all the SUIT DFU partitions and perform cleanup.
 
int suit_dfu_candidate_envelope_stored (void)
 Inform the SUIT module that the candidate envelope upload has ended.
 
int suit_dfu_candidate_preprocess (void)
 Process all the information stored in the envelope, but do not start the update yet.
 
int suit_dfu_update_start (void)
 Start the update.
 

Detailed Description

Module providing tools to the Local domain Core allowing to orchestrate the SUIT DFU.

The application requires the following steps to perform the Device Firmware Update:

  1. Call suit_dfu_initialize to initialize the SUIT DFU module before any other SUIT functionality is used. This function only has to be called once. This function must be called only once, after the device drivers are ready.
  2. If the design of the DFU system used by this device allows for the fetch of additional data in the suit-payload-fetch sequence, register fetch sources using suit_dfu_fetch_source_register.
  3. Store the SUIT candidate envelope in the non-volatile memory area defined as dfu_partition in the devicetree.
  4. Optional, not supported yet: Store other needed data/detached payloads in dfu cache partitions. The DFU cache pool 0 is not available at this stage, as it is part of dfu_partition not occupied by the SUIT candidate envelope).
  5. After the SUIT candidate envelope is stored, call suit_dfu_candidate_envelope_stored.
  6. Call suit_dfu_candidate_preprocess. Any fetch source registered in step number 2 can be used by this function to fetch additional data.
  7. Call suit_dfu_update_start. This will start the firmware update by resetting the device and passing control over the update to the Secure Domain.