wolfBoot now supports the Nordic nRF54L15 and nRF54LM20 wireless SoCs on the nRF54L15 DK and nRF54LM20 DK boards. The nRF54L15 has been supported since wolfBoot 2.8.0, and the nRF54LM20 is available in PR#930. wolfBoot verifies signed firmware before it runs and every update before it is installed, with optional TrustZone isolation between the bootloader and the application.
About the chips
Both parts pair a 2.4 GHz multiprotocol radio with a 128 MHz Arm Cortex-M33 with TrustZone and the CRACEN crypto accelerator.
Alongside the Cortex-M33 sits a second 128 MHz processor, a RISC-V core Nordic calls the Fast Lightweight Peripheral Processor (FLPR). It runs its own firmware and takes on time-critical work such as software-defined peripherals and custom low-level protocols, which frees the main core for the radio stack and the application. In some designs it can replace a separate external MCU.
Instead of flash, both chips store code in resistive RAM (RRAM), a non-volatile memory that keeps its contents without power. The nRF54L15 has 1524 KB of RRAM and 256 KB of RAM, the nRF54LM20 2036 KB and 512 KB. Each DK has an on-board J-Link debugger.
What wolfBoot adds
- Two example configurations per chip:
- nrf54l15.config / nrf54lm20.config: wolfBoot and the application run in the secure world.
- nrf54l15-wolfcrypt-tz.config / nrf54lm20-wolfcrypt-tz.config: wolfBoot runs in the secure world, the application in the non-secure world. They add the PKCS #11 API from the non-secure world into wolfCrypt, a secure key vault, and entropy from the CRACEN TRNG.
- RRAM write and erase run from RAM through the RRAM controller, so wolfBoot can also update itself.
- A/B updates with rollback when a new image is never confirmed.
- ECC384/SHA384 by default; any algorithm wolfBoot supports can be selected at build time.
Boot performance
| Signature | Hash | wolfBoot size | Hash time | Verify time |
|---|---|---|---|---|
| ECC256 (P-256) | SHA-256 | 24.7 KB | 1.2 ms | 17.8 ms |
| ECC384 (P-384) | SHA-384 | 34.2 KB | 4.4 ms | 167.5 ms |
| RSA-4096 | SHA-256 | 17.5 KB | 1.2 ms | 35.8 ms |
| ML-DSA-44 | SHA-256 | 22.2 KB | 1.2 ms | 29.8 ms |
| ML-DSA-65 | SHA-256 | 22.8 KB | 1.2 ms | 41.7 ms |
| ML-DSA-87 | SHA-256 | 23.5 KB | 1.2 ms | 62.5 ms |
Measured on the nRF54LM20 DK at 128 MHz, verifying a 2.6 KB test application, with the wolfCrypt Thumb-2 assembly. The nRF54L15 runs the same core at the same clock. Hash time scales with the size of the firmware image; verify time depends only on the signature algorithm.
ECC256 is the fastest option at 17.8 ms to verify. ML-DSA-44 follows at 29.8 ms, and even ML-DSA-87 verifies in 62.5 ms, so post-quantum secure boot adds very little to start-up time. RSA-4096 produces the smallest bootloader at 17.5 KB, while ECC384 is the slowest to verify at 167.5 ms and the largest at 34.2 KB.
If you have questions about any of the above, please contact us at facts@wolfssl.com or call us at +1 425 245 8247.
Download wolfSSL Now

