DFU multi-image
The DFU multi-image library provides an API for writing a DFU multi-image package that can be downloaded in chunks of arbitrary size. The DFU multi-image package is a simple archive file that consists of a CBOR-based header that describes contents of the package, followed by a number of updates images, such as firmware images for different MCU cores.
Images included in a DFU multi-image package are identified by numeric identifiers assigned by the user. The library provides a way for the user to register custom functions for writing a single image with a given identifier.
Because the library makes no assumptions about the formats of images included in a written package, it serves as a general-purpose solution for device firmware upgrades. For example, it can be used to upgrade the nRF5340 firmware.
Configuration
To enable the DFU multi-image library, set the CONFIG_DFU_MULTI_IMAGE
Kconfig option.
To configure the maximum number of images that the DFU multi-image library is able to process, use the CONFIG_DFU_MULTI_IMAGE_MAX_IMAGE_COUNT
Kconfig option.
To enable building the DFU multi-image package that contains commonly used update images, such as the application core firmware, the network core firmware, or MCUboot images, set the SB_CONFIG_DFU_MULTI_IMAGE_PACKAGE_BUILD
Kconfig option.
The following options control which images are included:
Kconfig |
Description |
---|---|
|
Include application update. |
|
Include network core image update. |
|
Include MCUboot update. |
|
Include nRF700x WiFi firmware patches. |
Dependencies
This module uses the following nRF Connect SDK libraries and drivers:
API documentation
include/dfu/dfu_multi_image.h
subsys/dfu/dfu_multi_image/src/