wolfBoot/config/examples/stm32n6-tz.config

48 lines
1.8 KiB
Plaintext

ARCH?=ARM
TARGET?=stm32n6
TZEN?=1
SIGN?=ECC256
HASH?=SHA256
DEBUG?=0
DEBUG_UART?=1
VTOR?=1
NO_ASM?=0
NO_MPU=1
SPI_FLASH?=0
ALLOW_DOWNGRADE?=0
NVM_FLASH_WRITEONCE?=0
WOLFBOOT_VERSION?=1
V?=0
SPMATH?=1
RAM_CODE?=1
WOLFBOOT_SECTOR_SIZE?=0x1000
WOLFBOOT_PARTITION_SIZE?=0x100000
# Boot partition: secure alias (0x70180000). N6 IDAU appears hard-
# wired Secure for the low 1 MB of XSPI2 (0x70000000..0x700FFFFF) and
# deferring to SAU above 0x70100000 -- ST's Template_Isolation_XIP
# reference puts its NS app at 0x70180000 for this reason. SAU REG[2]
# classifies the boot partition window NS so the secure CPU's reads
# (during verify) and the NS CPU's XIP fetches (post-BLXNS) both
# succeed through the same address.
WOLFBOOT_PARTITION_BOOT_ADDRESS?=0x70180000
WOLFBOOT_PARTITION_UPDATE_ADDRESS?=0x00280000
WOLFBOOT_PARTITION_SWAP_ADDRESS?=0x00170000
IMAGE_HEADER_SIZE?=1024
# Boot partition is on the same XSPI2 NOR flash as update/swap.
# PART_BOOT_EXT routes boot partition reads through ext_flash API (SPI
# commands) instead of XIP, avoiding bus faults when XSPI2 toggles
# between memory-mapped and command mode during firmware updates.
CFLAGS_EXTRA+=-DPART_BOOT_EXT
BOOTLOADER_PARTITION_SIZE=0x40000
# NSC veneers: placed in the NS alias of the top 4 KB of wolfBoot's
# 256 KB AXISRAM2 region. Physical bytes are shared with FLASH (same
# SRAM); SAU promotes this NS view to NSC so secure-gateway stubs are
# reachable via BLXNS from the NS app. WOLFCRYPT_TZ is off in this
# config, so the section is empty -- but the linker requires a home.
WOLFBOOT_NSC_ADDRESS?=0x2418F000
WOLFBOOT_NSC_SIZE?=0x1000
# Keyvault unused while WOLFCRYPT_TZ=0; reserve a small dummy region
# so the H5-derived linker template substitutes cleanly.
WOLFBOOT_KEYVAULT_ADDRESS?=0x2418E000
WOLFBOOT_KEYVAULT_SIZE?=0x1000