wolfBoot Configuration Options
This section shows parameters by running make config
.
-
ARCH
: Architecture of the target to be used.- Default: ARM
- Possible: x86_64/AARCH64/ARM/RNESAS_RX/RISCV/PPC/ARM_BE
-
HASH
: Selection of hash algorithm to be used.- Default: SHA256
- Possible: SHA3/SHA256/SHA384
-
MCUXSDK
: Enable when using NXP's MCUXpresso SDK.- Default: 1
-
MCUXPRESSO
: Setting for MCUXpresso IDE environment.- Default: /mnt/c/Users/(User)/(Project)/wolfboot-2.4.0/mcux-sdk
-
MCUXPRESSO_CPU
: CPU-specific settings for MCUXpresso.- Default: MK64FN1M0VLL12
-
MCUXPRESSO_DRIVERS
: Enable driver support for MCUXpresso.- Default: /mnt/c/Users/(User)/(Project)/wolfboot-2.4.0/mcux-sdk/devices/MK64F12
-
MCUXPRESSO_CMSIS
: Enable CMSIS (Cortex Microcontroller Software Interface Standard) library.- Default: /mnt/c/Users/(User)/(Project)/wolfboot-2.4.0/CMSIS_5/CMSIS
-
FREEDOM_E_SDK
: Enable when using SiFive Freedom-E SDK (for RISC-V).- Default: /home/(User)/src/freedom-e-sdk
-
STM32CUBE
: Enable STM32Cube HAL (for STM32).- Default: /home/(User)/STM32Cube/Repository/STM32Cube_FW_WB_V1.3.0
-
CYPRESS_PDL
: Enable Cypress Peripheral Driver Library (PDL).- Default: /home/(User)/src/psoc6pdl
-
CYPRESS_CORE_LIB
: Enable Cypress core library.- Default: /home/(User)/src/cypress-core-lib
-
CYPRESS_TARGET_LIB
: Enable Cypress target-specific library.- Default: /home/(User)/src/TARGET_CY8CKIT-062S2-43012
-
CORTEX_M7
: Enable when targeting ARM Cortex-M7.- Default: 0
-
CORTEX_M33
: Enable when targeting ARM Cortex-M33.- Default: 0
-
NO_ASM
: Disable assembly optimizations and implement in C language only.- Default: 0
-
NO_XIP
: Disable XIP (Execute in Place) (do not execute code directly from flash memory).- Default: 0
-
WOLFBOOT_VERSION
: Option to specify the version of wolfBoot.- Default is set in include/wolfboot/version.h
-
V
: Enable Verbose build.- Default: 0
-
NO_MPU
: Disable Memory Protection Unit (MPU).- Default: 0
-
SPMATH
: Enable SP Math library (single-precision math library).- Default: 1
-
SPMATHALL
: Enable all SP Math functions.- Default: 0
-
IMAGE_HEADER_SIZE
: Specify the firmware image header size.- Default: 256
-
PKA
: Enable public key cryptography processing (Public Key Accelerator).- Default: 1
-
TZEN
: Enable TrustZone security features.- Default: 0
-
PSOC6_CRYPTO
: Use Cypress PSoC 6 series hardware cryptographic engine.- Default: 1
-
WOLFBOOT_TPM_VERIFY
: Enable firmware verification using TPM (Trusted Platform Module).- Default: 0
-
WOLFBOOT_TPM_SEAL
: Enable function to seal data using TPM.- Default: 0
-
WOLFBOOT_TPM_KEYSTORE
: Enable key storage using TPM.- Default: 0
-
WOLFCRYPT_TZ
: Enable the use of wolfCrypt in TrustZone.- Default: 0
-
WOLFCRYPT_TZ_PKCS11
: Enable PKCS#11 interface in TrustZone.- Default: 0
-
WOLFBOOT_LOAD_ADDRESS
: Specify the load address for wolfBoot.- Default: 0x200000
-
WOLFBOOT_LOAD_DTS_ADDRESS
: Specify the load address for Device Tree Storage (DTS).- Default: 0x400000
-
WOLFBOOT_DTS_BOOT_ADDRESS
: Specify the device tree address during boot.- Default: 0x30000
-
WOLFBOOT_DTS_UPDATE_ADDRESS
: Specify the device tree address for updates.- Default: 0x50000
-
DELTA_BLOCK_SIZE
: Specify the block size for delta updates.- Default: 256
-
WOLFBOOT_HUGE_STACK
: Option to increase stack size.- Default: 0
-
FORCE_32BIT
: Option to force build as a 32-bit system.- Default: 0
-
ENCRYPT_WITH_CHACHA
: Enable firmware encryption using the ChaCha algorithm.- Default: 0
-
ARMORED
: Enable additional mitigations against fault-injection attacks, e.g. voltage and clock glitches, or EMFI.- Default: 0
-
LMS_LEVELS
: Specify the levels for LMS (Leighton-Micali Signature) hash-based signatures.- Default: 0
-
LMS_HEIGHT
: Specify the hash tree height for LMS signatures.- Default: 0
-
LMS_WINTERNITZ
: Set the Winternitz coefficient (LMS signature parameter).- Default: 0
-
WOLFBOOT_UNIVERSAL_KEYSTORE
: Enable storing public keys of different types in the same keystore.- Default: 0
-
XMSS_PARAMS
: Specify parameters for XMSS (eXtended Merkle Signature Scheme).- Default: XMSS-SHA2_10_256
- Possible: XMSS-SHA2_10_256
-
ELF
: Enable support for ELF format.- Default: 0
-
BIG_ENDIAN
: Support big-endian architecture.- Default: 0
-
NXP_CUSTOM_DCD
: Enable custom DCD (Device Configuration Data) settings for NXP platforms.- Default: 0
-
NXP_CUSTOM_DCD_OBJS
: Enable custom DCD objects for NXP. -
FLASH_OTP_KEYSTORE
: Enable flash key storage using OTP (One-Time Programmable) memory.- Default: 0
-
KEYVAULT_OBJ_SIZE
: Specify the size of objects stored in KeyVault. -
KEYVAULT_MAX_ITEMS
: Specify the maximum number of items that can be stored in KeyVault. -
NO_ARM_ASM
: Disable ARM assembly code and implement in C language only.- Default: 0
-
SIGN_SECONDARY
: Enable a second signature for the images. Used to implement hybrid mode (e.g. ECC + ML_DSA). Set to the secondary algorithm selected for hybrid (classic + PQC) authentication. -
WOLFHSM_CLIENT
: Enable wolfHSM client (HSM).- Default: 0
-
WOLFHSM_CLIENT_LOCAL_KEYS
: Option for wolfHSM client to use local keys.- Default: 0