Mistake on this page? Email us

Pelion Device Management Update

You can extend a device's life by delivering upgrades and critical fixes, including security patches, as an update. Device Management Update sends new firmware to deployed devices. To do this, you need the Device Management Update client running on the device and the Device Management Update service (managed by Arm) delivering the updates.

Overview of a typical update workflow

The process of deploying a firmware update to devices in the field begins with building a new firmware image and uploading it to the Device Management servers, where the update service can access it. You can choose to deploy a full firmware image, which you can apply regardless of what version(s) are on your devices in the field. You can also create a comparison between an older and newer firmware version, called a delta image, and update all devices using the older version with a smaller image. The full image includes Device Management Update client, which is a part of Device Management Client, a cross-platform agent available on Mbed OS and Linux.

The next step is to create and upload a manifest file, which describes the update and allows devices to make decisions about that update. You can use the manifest tool to create a manifest that meets all the Device Management requirements.

When you have your image and manifest, you can combine them into one or more update campaigns, each targeting a specific device or group of devices.

Device Management Update Client

The Update client, running on the device, is responsible for verifying, installing and reporting the progress of firmware updates. You need to integrate it with your application to enable future updates.

For more information, see the Update client section.

Firmware images

Updates are binary firmware images, which are the direct output of the build system, with no modification required. All binaries must include the Device Management Update client, or updated devices will lose the ability to perform further updates. However, you should exclude the bootloader from the binary (because it is not updatable).

You can upload firmware to Device Management by using:

  1. The Device Management Portal.
  2. The Device Management API.
  3. One of the Device Management SDKs.
  4. The manifest tool's update command.

For more information, see the Update client section.

Manifests and the manifest tool

Devices need to make important decisions about firmware in a suggested update. For example, is the update trustworthy and applicable to the device? Is it available now, or should the device fetch it later? Where is the image stored?

To deliver that information to a device during an update campaign, you need to create a manifest file with the update's metadata. Manifests are signed with your private key and contain a digest of the firmware to ensure that only trusted updates - those with a verifiable chain of trust - are written to nonvolatile memory.

Manifests also contain a sequence number that assists in rollback protection. The manifest tool implements this as a timestamp in Unix Epoch time.

For more information, see the Manifests section and the security section.

The easiest way to create manifests is to use the manifest tool (which runs on your PC) to:

  • Create, sign and upload manifests.
  • Test the entire end to end update flow.

For more information, see the Manifest tool section.

Certificates

Device Management Update uses certificates to:

  • Ensure end-to-end security.
  • Validate that a firmware update originated from a genuine and trusted source.

For more information, see the Authenticity certificates section.

Update campaigns

Update campaigns deploy an update to one or more devices. A campaign includes the list of devices to target, as well as the manifest to send to them. You can also use the update campaign to monitor the state of the deployment across its targeted devices.

You can create update campaigns by using:

  • The Device Management Portal.
  • The Device Management API.
  • One of the Device Management SDKs.

For more information, see the Update campaigns section.