:orphan: .. title:: CONFIG_ROM_START_OFFSET .. kconfig:: CONFIG_ROM_START_OFFSET CONFIG_ROM_START_OFFSET ####################### *ROM Start Offset accounting for BL2 Header in the NS image* *ROM start offset* Type: ``hex`` Help ==== .. code-block:: none 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 ==== .. code-block:: none 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 - 0x400 if \ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x400 if \ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x400 if \ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x400 if \ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x400 if \ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x2000 if \ :kconfig:`BOOT_FLEXSPI_NOR ` || \ :kconfig:`BOOT_SEMC_NOR ` - 0x1200 if \ :kconfig:`NXP_IMX_RT6XX_BOOT_HEADER ` - 0x400 if \ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x0 if !\ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x800 if \ :kconfig:`XIP ` - 0x0 if !\ :kconfig:`XIP ` - 0x800 if \ :kconfig:`XIP ` - 0x0 if !\ :kconfig:`XIP ` - 0x400 if \ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x400 if \ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x400 if \ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x400 if \ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x400 if \ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x2000 if \ :kconfig:`BOOT_FLEXSPI_NOR ` || \ :kconfig:`BOOT_SEMC_NOR ` - 0x1200 if \ :kconfig:`NXP_IMX_RT6XX_BOOT_HEADER ` - 0x400 if \ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x0 if !\ :kconfig:`BOOTLOADER_MCUBOOT ` - 0x800 if \ :kconfig:`XIP ` - 0x0 if !\ :kconfig:`XIP ` - 0x800 if \ :kconfig:`XIP ` - 0x0 if !\ :kconfig:`XIP ` - 0x400 - 0x200 if \ :kconfig:`BOOTLOADER_MCUBOOT ` - 0 Kconfig definitions =================== At ``/xtensa/intel_s1000_crb/Kconfig.defconfig:48`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x100 depends on BOOTLOADER_MCUBOOT && BOARD_INTEL_S1000_CRB ---- At ``/arm/atmel_sam0/samd51/Kconfig.defconfig.series:28`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/arm/atmel_sam0/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x400 if BOOTLOADER_MCUBOOT depends on SOC_SERIES_SAMD51 ---- At ``/arm/atmel_sam0/same51/Kconfig.defconfig.series:24`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/arm/atmel_sam0/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x400 if BOOTLOADER_MCUBOOT depends on SOC_SERIES_SAME51 ---- At ``/arm/atmel_sam0/same53/Kconfig.defconfig.series:24`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/arm/atmel_sam0/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x400 if BOOTLOADER_MCUBOOT depends on SOC_SERIES_SAME53 ---- At ``/arm/atmel_sam0/same54/Kconfig.defconfig.series:23`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/arm/atmel_sam0/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x400 if BOOTLOADER_MCUBOOT depends on SOC_SERIES_SAME54 ---- At ``/arm/nxp_imx/rt/Kconfig.defconfig.series:11`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/arm/nxp_imx/Kconfig.defconfig:8`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x400 if BOOTLOADER_MCUBOOT default 0x2000 if BOOT_FLEXSPI_NOR || BOOT_SEMC_NOR depends on SOC_SERIES_IMX_RT ---- At ``/arm/nxp_imx/rt6xx/Kconfig.defconfig.series:11`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/arm/nxp_imx/Kconfig.defconfig:8`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x1200 if NXP_IMX_RT6XX_BOOT_HEADER depends on SOC_SERIES_IMX_RT6XX ---- At ``/arm/st_stm32/stm32h7/Kconfig.defconfig.series:15`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/arm/st_stm32/Kconfig.defconfig:3`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x400 if BOOTLOADER_MCUBOOT default 0x0 if !BOOTLOADER_MCUBOOT depends on SOC_SERIES_STM32H7X ---- At ``/arm/ti_simplelink/cc32xx/Kconfig.defconfig.cc3220sf:18`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/arm/ti_simplelink/Kconfig.defconfig:3`` → ``/arm/ti_simplelink/cc32xx/Kconfig.defconfig.series:7`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x800 if XIP default 0x0 if !XIP depends on SOC_CC3220SF && SOC_SERIES_CC32XX ---- At ``/arm/ti_simplelink/cc32xx/Kconfig.defconfig.cc3235sf:19`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/arm/ti_simplelink/Kconfig.defconfig:3`` → ``/arm/ti_simplelink/cc32xx/Kconfig.defconfig.series:7`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x800 if XIP default 0x0 if !XIP depends on SOC_CC3235SF && SOC_SERIES_CC32XX ---- At ``/arm/atmel_sam0/samd51/Kconfig.defconfig.series:28`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/arm/atmel_sam0/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x400 if BOOTLOADER_MCUBOOT depends on SOC_SERIES_SAMD51 ---- At ``/arm/atmel_sam0/same51/Kconfig.defconfig.series:24`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/arm/atmel_sam0/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x400 if BOOTLOADER_MCUBOOT depends on SOC_SERIES_SAME51 ---- At ``/arm/atmel_sam0/same53/Kconfig.defconfig.series:24`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/arm/atmel_sam0/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x400 if BOOTLOADER_MCUBOOT depends on SOC_SERIES_SAME53 ---- At ``/arm/atmel_sam0/same54/Kconfig.defconfig.series:23`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/arm/atmel_sam0/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x400 if BOOTLOADER_MCUBOOT depends on SOC_SERIES_SAME54 ---- At ``/arm/nxp_imx/rt/Kconfig.defconfig.series:11`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/arm/nxp_imx/Kconfig.defconfig:8`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x400 if BOOTLOADER_MCUBOOT default 0x2000 if BOOT_FLEXSPI_NOR || BOOT_SEMC_NOR depends on SOC_SERIES_IMX_RT ---- At ``/arm/nxp_imx/rt6xx/Kconfig.defconfig.series:11`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/arm/nxp_imx/Kconfig.defconfig:8`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x1200 if NXP_IMX_RT6XX_BOOT_HEADER depends on SOC_SERIES_IMX_RT6XX ---- At ``/arm/st_stm32/stm32h7/Kconfig.defconfig.series:15`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/arm/st_stm32/Kconfig.defconfig:3`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x400 if BOOTLOADER_MCUBOOT default 0x0 if !BOOTLOADER_MCUBOOT depends on SOC_SERIES_STM32H7X ---- At ``/arm/ti_simplelink/cc32xx/Kconfig.defconfig.cc3220sf:18`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/arm/ti_simplelink/Kconfig.defconfig:3`` → ``/arm/ti_simplelink/cc32xx/Kconfig.defconfig.series:7`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x800 if XIP default 0x0 if !XIP depends on SOC_CC3220SF && SOC_SERIES_CC32XX ---- At ``/arm/ti_simplelink/cc32xx/Kconfig.defconfig.cc3235sf:19`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/arm/ti_simplelink/Kconfig.defconfig:3`` → ``/arm/ti_simplelink/cc32xx/Kconfig.defconfig.series:7`` Menu path: (Top) .. code-block:: kconfig config ROM_START_OFFSET hex default 0x800 if XIP default 0x0 if !XIP depends on SOC_CC3235SF && SOC_SERIES_CC32XX ---- At ``/trusted-firmware-m/Kconfig.tfm:247`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:33`` → ``/Kconfig:74`` → ``/trusted-firmware-m/Kconfig:7`` Menu path: (Top) → Modules → Build with TF-M as the Secure Execution Environment .. code-block:: kconfig config ROM_START_OFFSET hex "ROM Start Offset accounting for BL2 Header in the NS image" default 0x400 depends on TFM_BL2 && BUILD_WITH_TFM && 0 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:122`` Included via ``Kconfig:8`` Menu path: (Top) → Build and Link Features → Linker Options .. code-block:: kconfig config ROM_START_OFFSET hex "ROM start offset" if !BOOTLOADER_MCUBOOT default 0x200 if 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.)*