NordicSemiconductor / Android-nRF-Connect-Device-Manager

A mobile management library for devices running Apache Mynewt and Zephyr (DFU, logs, stats, config, etc.)
Apache License 2.0
81 stars 40 forks source link

SUIT manager #152

Closed philips77 closed 4 months ago

philips77 commented 4 months ago

This PR adds implementation for the Mcu Manager's new SUIT group which allows updating firmware using SUIT (Software Update for Internet of Things).

The CBOR protocol isn't finalized and may be changed.

Supported operations:

  1. Reading list of all manifest roles
  2. Reading manifests by role
  3. Uploading candidate SUIT envelope for processing
  4. Polling for additional resources
  5. Uploading requested resources

Up until now, updating devices with SUIT support was possible using the Image manager, where SUIT commands and parameters were mapped into previous API. However, as SUIT protocol allows the firmware binaries to be delivered outside of the envelope: downloaded (in case of Internet access) or requested from the client, the new API allows to poll the target for required resources and delivering them on demand. As the McuMgr protocol is based on request-response model, the target cannot notify the client when a resource is needed, instead polling mechanism is used.

This PR does not provide any UI for the new manager.