:orphan: .. title:: ROM_START_OFFSET .. option:: CONFIG_ROM_START_OFFSET *ROM Start Offset accounting for BL2 Header in the NS image* *ROM start offset* Type: ``hex`` Help ==== By default BL2 header size in TF-M is 0x400. ROM_START_OFFSET needs to be updated if TF-M switches to use a different header size for BL2. Help ==== If the application is built for chain-loading by a bootloader this variable is required to be set to value that leaves sufficient space between the beginning of the image and the start of the first section to store an image header or any other metadata. In the particular case of the MCUboot bootloader this reserves enough space to store the image header, which should also meet vector table alignment requirements on most ARM targets, although some targets may require smaller or larger values. Defaults ======== - 0x100 - 0x2000 if \ :option:`BOOT_FLEXSPI_NOR ` || \ :option:`BOOT_SEMC_NOR ` - 0x1200 if \ :option:`NXP_IMX_RT6XX_BOOT_HEADER ` - 0x400 if \ :option:`BOOTLOADER_MCUBOOT ` - 0x0 if !\ :option:`BOOTLOADER_MCUBOOT ` - 0x800 if \ :option:`XIP ` - 0x0 if !\ :option:`XIP ` - 0x800 if \ :option:`XIP ` - 0x0 if !\ :option:`XIP ` - 0x400 - 0x200 if \ :option:`BOOTLOADER_MCUBOOT ` - 0 Kconfig definitions =================== .. highlight:: kconfig At ``boards/xtensa/intel_s1000_crb/Kconfig.defconfig:48`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:18`` Menu path: (Top) .. parsed-literal:: config ROM_START_OFFSET hex default 0x100 depends on \ :option:`BOOTLOADER_MCUBOOT ` && \ :option:`BOARD_INTEL_S1000_CRB ` ---- At ``soc/arm/nxp_imx/rt/Kconfig.defconfig.series:11`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:19`` → ``/home/runner/work/bridle/bridle/workspace/build/Kconfig/Kconfig.soc.defconfig:1`` → ``soc/arm/nxp_imx/Kconfig.defconfig:4`` Menu path: (Top) .. parsed-literal:: config ROM_START_OFFSET hex default 0x2000 if \ :option:`BOOT_FLEXSPI_NOR ` || \ :option:`BOOT_SEMC_NOR ` depends on \ :option:`SOC_SERIES_IMX_RT ` ---- At ``soc/arm/nxp_imx/rt6xx/Kconfig.defconfig.series:11`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:19`` → ``/home/runner/work/bridle/bridle/workspace/build/Kconfig/Kconfig.soc.defconfig:1`` → ``soc/arm/nxp_imx/Kconfig.defconfig:4`` Menu path: (Top) .. parsed-literal:: config ROM_START_OFFSET hex default 0x1200 if \ :option:`NXP_IMX_RT6XX_BOOT_HEADER ` depends on \ :option:`SOC_SERIES_IMX_RT6XX ` ---- At ``soc/arm/st_stm32/stm32h7/Kconfig.defconfig.series:15`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:19`` → ``/home/runner/work/bridle/bridle/workspace/build/Kconfig/Kconfig.soc.defconfig:1`` → ``soc/arm/st_stm32/Kconfig.defconfig:3`` Menu path: (Top) .. parsed-literal:: config ROM_START_OFFSET hex default 0x400 if \ :option:`BOOTLOADER_MCUBOOT ` default 0x0 if !\ :option:`BOOTLOADER_MCUBOOT ` depends on \ :option:`SOC_SERIES_STM32H7X ` ---- At ``soc/arm/ti_simplelink/cc32xx/Kconfig.defconfig.cc3220sf:18`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:19`` → ``/home/runner/work/bridle/bridle/workspace/build/Kconfig/Kconfig.soc.defconfig:1`` → ``soc/arm/ti_simplelink/Kconfig.defconfig:3`` → ``soc/arm/ti_simplelink/cc32xx/Kconfig.defconfig.series:7`` Menu path: (Top) .. parsed-literal:: config ROM_START_OFFSET hex default 0x800 if \ :option:`XIP ` default 0x0 if !\ :option:`XIP ` depends on \ :option:`SOC_CC3220SF ` && \ :option:`SOC_SERIES_CC32XX ` ---- At ``soc/arm/ti_simplelink/cc32xx/Kconfig.defconfig.cc3235sf:19`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:19`` → ``/home/runner/work/bridle/bridle/workspace/build/Kconfig/Kconfig.soc.defconfig:1`` → ``soc/arm/ti_simplelink/Kconfig.defconfig:3`` → ``soc/arm/ti_simplelink/cc32xx/Kconfig.defconfig.series:7`` Menu path: (Top) .. parsed-literal:: config ROM_START_OFFSET hex default 0x800 if \ :option:`XIP ` default 0x0 if !\ :option:`XIP ` depends on \ :option:`SOC_CC3235SF ` && \ :option:`SOC_SERIES_CC32XX ` ---- At ``modules/Kconfig.tfm:112`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:23`` → ``modules/Kconfig:32`` Menu path: (Top) → Modules → Build with TF-M as the Secure Execution Environment .. parsed-literal:: config ROM_START_OFFSET hex "ROM Start Offset accounting for BL2 Header in the NS image" default 0x400 depends on !\ :option:`TFM_BL2_FALSE ` && \ :option:`BUILD_WITH_TFM ` help By default BL2 header size in TF-M is 0x400. ROM_START_OFFSET needs to be updated if TF-M switches to use a different header size for BL2. ---- At ``Kconfig.zephyr:121`` Included via ``Kconfig:8`` Menu path: (Top) → Build and Link Features → Linker Options .. parsed-literal:: config ROM_START_OFFSET hex "ROM start offset" if !\ :option:`BOOTLOADER_MCUBOOT ` default 0x200 if \ :option:`BOOTLOADER_MCUBOOT ` default 0 help If the application is built for chain-loading by a bootloader this variable is required to be set to value that leaves sufficient space between the beginning of the image and the start of the first section to store an image header or any other metadata. In the particular case of the MCUboot bootloader this reserves enough space to store the image header, which should also meet vector table alignment requirements on most ARM targets, although some targets may require smaller or larger values. *(The 'depends on' condition includes propagated dependencies from ifs and menus.)*