Bootloaders and Device Firmware Updates
There are two types of bootloaders used by the nRF Connect SDK:
Immutable first-stage bootloaders that cannot be upgraded through device firmware update (DFU) and run after each reset.
Upgradable second-stage bootloaders that can perform DFU to both themselves and the application, and are booted by the first-stage bootloader.
The bootloaders support two types of updates:
Direct updates, where an in-place substitution of the image takes place.
Background updates, where the updated image is obtained and stored, but the update is completed later on.
You can deliver the updated images to the device in two ways:
Wired, where updates are sent through a wired connection, like UART, or delivered by connecting a flash device.
Over-the-air (OTA), where updates are sent through a wireless connection, like Bluetooth® Low Energy.
You can use a second-stage bootloader only in combination with a first-stage one. Also, not all bootloaders supported by the nRF Connect SDK can be used as either first-stage or second-stage ones. You can find an overview of currently supported bootloaders in the table below:
Bootloader |
Can be first-stage |
Can be second-stage |
Key type support |
Public key revocation |
SMP updates |
Downgrade protection |
Versioning |
Update methods (supported by nRF Connect SDK) |
---|---|---|---|---|---|---|---|---|
Yes |
No |
No |
Yes |
Dual-slot direct-xip |
||||
Yes |
Yes |
No |
Yes |
Yes |
Image swap - single primary Dual-slot direct-xip |
See the following user guides to learn more: