ARCH?=ARM TZEN?=1 TARGET?=m2354 SIGN?=ECC256 HASH?=SHA256 DEBUG?=0 DEBUG_UART?=1 VTOR?=1 CORTEX_M23?=1 NO_ASM?=0 NO_ARM_ASM=1 NO_MPU=1 EXT_FLASH?=0 SPI_FLASH?=0 ALLOW_DOWNGRADE?=0 NVM_FLASH_WRITEONCE?=1 WOLFBOOT_VERSION?=1 V?=0 SPMATH?=1 RAM_CODE?=1 DUALBANK_SWAP?=0 FLAGS_HOME=0 DISABLE_BACKUP=0 # The application's vector table must be aligned to a power of two at least # its own size, because do_boot() programs VTOR with the application address # and the low bits of VTOR are RES0. The M2354 implements 132 exceptions # (16 system + 116 external) = 528 bytes, so the next power of two is 1024. IMAGE_HEADER_SIZE?=1024 WOLFBOOT_SECTOR_SIZE?=0x800 # Must be set explicitly under TrustZone. The default derives it as # WOLFBOOT_PARTITION_BOOT_ADDRESS - ARCH_FLASH_OFFSET, which is meaningless # here because the partition lives in the non-secure alias 256MB away. The # secure region is the 120KB bootloader plus the 8KB NSC veneers. BOOTLOADER_PARTITION_SIZE?=0x20000 # Secure world (bank 0, NSCBA = 0x00080000): # 0x00000000 wolfBoot secure image (120KB) # 0x0001E000 NSC secure-gateway veneers (8KB) # Non-secure world (bank 1, seen at the +0x10000000 alias): # 0x10080000 BOOT partition (252KB) # 0x100BF000 UPDATE partition (252KB) # 0x100FE000 SWAP (2KB, one page) # No keyvault: its address only marks the end of the bootloader region. WOLFBOOT_KEYVAULT_ADDRESS?=0x1E000 WOLFBOOT_KEYVAULT_SIZE?=0 WOLFBOOT_NSC_ADDRESS?=0x1E000 WOLFBOOT_NSC_SIZE?=0x2000 WOLFBOOT_PARTITION_SIZE?=0x3F000 WOLFBOOT_PARTITION_BOOT_ADDRESS?=0x10080000 WOLFBOOT_PARTITION_UPDATE_ADDRESS?=0x100BF000 WOLFBOOT_PARTITION_SWAP_ADDRESS?=0x100FE000