Bootloaders

The bootloader is a firmware image that is responsible for booting the application. The bootloader chooses an application firmware image to boot and verifies it to ensure validity. The image validation can be used to ensure chain of trust.

Using a bootloader is closely related to device firmware update (DFU).

There are two types of bootloaders used by the nRF Connect SDK:

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:

Bootloaders supported by nRF Connect SDK

Bootloader

Can be first-stage

Can be second-stage

Key type support

Public key revocation

SMP updates by the application

Downgrade protection

Versioning

Update methods (supported by nRF Connect SDK)

nRF Secure Immutable Bootloader

Yes

No

See list

Yes

No

Yes

Monotonic (HW)

Dual-slot direct-xip

MCUboot

Yes

Yes (only with NSIB as first-stage)

See imgtool

No

Yes

Yes

Monotonic (HW), Semantic (SW)

Image swap - single primary Dual-slot direct-xip

See the following user guides to learn more: