wolfBoot can now be built for the STM32U5 with the ARM Compiler for Embedded (AC6). Teams using the ARM toolchain in Keil MDK can build a TrustZone-enabled wolfBoot image and its non-secure test application from the existing Makefiles by setting USE_ARMCLANG=1.
What the integration includes
- The build selects armclang, armlink, armar and fromelf for target compilation, linking, archiving and image conversion. The existing GCC build remains the default.
- New armlink scatter files lay out the secure bootloader, the non-secure test application, and the Non-Secure Callable (NSC) veneer region. The secure link also produces src/wolfboot_tz_nsc.o, the CMSE import library used by the non-secure application.
- The startup code’s linker symbols are mapped to armlink region symbols, so the existing reset and memory initialization code can be used. A small fromelf adapter supplies the binary conversion commands used by the Makefiles.
- For the secure wolfCrypt and PKCS#11 configuration, ARM-specific support routines provide a heap without relying on C runtime startup and resolve references that armlink checks before removing unused code.
- The example STM32U5 configurations use ECC P-256 signatures, SHA-256 hashes, SP math, and the existing Cortex-M assembly path. An optional DEBUG_UART=1 build adds USART1 output on PA9/PA10.
Build it
Install the ARM Compiler for Embedded tools and put them in PATH, or set ARMCLANG_PATH to their directory with a trailing slash. From a clean wolfBoot checkout:
cp config/examples/stm32u5.config .config make USE_ARMCLANG=1
For the STM32U5 example with wolfCrypt and PKCS#11 services in the secure world, use config/examples/stm32u5-wolfcrypt-tz.config instead. The Makefile flow produces the wolfBoot ELF and binary, link maps, a signed non-secure test image, and factory.bin.
This initial support is scoped to STM32U5 with TrustZone enabled (TZEN=1), but it does pave the way for other targets, which can be integrated by adding their own scatter files.
If you are integrating wolfBoot into a product and you are constrained to using the ARM Compiler for Embedded, contact us at facts@wolfssl.com or call +1 425 245 8247.
Download wolfSSL Now

