The management subsystem allows remote management of Zephyr-enabled devices. The following management operations are available:

  • Image management
  • File System management
  • Log management (currently disabled)
  • OS management

over the following transports:

  • BLE (Bluetooth Low Energy)
  • Serial (UART)

The management subsystem is based on the Simple Management Protocol (SMP) provided by MCUmgr, an open source project that provides a management subsystem that is portable across multiple real-time operating systems.

The management subsystem is split in two different locations in the Zephyr tree:

  • ext/lib/mgmt/mcumgr/ contains a clean import of the MCUmgr project
  • subsys/mgmt/ contains the Zephyr-specific bindings to MCUmgr

Additionally there is a sample that provides management functionality over BLE and serial.

Command-line Tool

MCUmgr provides a command-line tool, mcumgr,for managing remote devices. The tool is written in the Go programming language.

Installation information can be found in the MCUmgr command-line tool section of the MCUmgr documentation. A full rundown of the necessary commands to perform Device Firmware Upgrade is located in MCUmgr command-line tool examples, and a practical step-by-step guide to DFU using MCUmgr can be found in SMP Server Sample.

Bootloader integration

The Device Firmware Upgrade subsystem integrates the management subsystem with the bootloader, providing the ability to send and upgrade a Zephyr image to a device.

Currently only the MCUboot bootloader is supported. See MCUboot for more information.