Mcumgr-based full modem update

The full modem update management library allows performing an update over UART using the SMP protocol, providing an API that exposes functions to register command hooks into the MCU manager (mcumgr) management protocol.

It is used by the Cellular: Full modem firmware update using SMP Server sample to provide the following functionalities:

  • Modem firmware update to the modem.

  • Memory hash function for write verification.

It uses command value 0 for getting the hash of an address range and command value 1 for uploading firmware data.

Before calling the fmfu_mgmt_init() function, the modem needs to be set into DFU mode. For more information on how to change the modem mode see Modem library.

API documentation

Header file: include/mgmt/fmfu_mgmt.h and include/mgmt/fmfu_mgmt_stat.h
Source files: subsys/mgmt/src/
group fmfu_mgmt

MCUMgr based Full Modem Firmware Update(FMFU).

The Full Modem Firmware Upgrade (FMFU) is a module with functions that hooks into MCUMgr for doing a full modem update over a transport layer with the SMP protocol.

The command values are 0 for get_hash and 1 for firmware_upload

Functions

int fmfu_mgmt_init(void)

Setup and register the command handler for full modem update command handler group.

The modem library must be initialized in bootloader mode before calling this function - nrf_modem_lib_bootloader_init().

Return values:

0 – on success, negative integer on failure.