MCUboot
More info
- Type
- Bootloader
- License
- Apache 2.0
- Website
- trustedfirmware.org
- Source
- GitHub
An open, platform-independent bootloader for 32-bit microcontrollers that only boots firmware carrying a valid signature.
MCUboot grew out of the Apache Mynewt project and now lives under Trusted Firmware. Flash is split into two slots: a primary one that runs and a secondary one where a new image is downloaded. On the next boot MCUboot checks the signature (RSA, ECDSA or Ed25519), swaps the images and starts the new one.
The clever part is test mode. The new firmware has to confirm for itself that it works; if it hasn't by the next reset, MCUboot swaps back. A broken OTA update costs one extra reboot instead of a bricked device. Zephyr, NuttX and RIOT support it out of the box, which has made MCUboot something of a standard wherever no vendor could be bothered to write their own.