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

Kconfig definitions

At <Zephyr>/boards/xtensa/intel_s1000_crb/Kconfig.defconfig:48

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:18

Menu path: (Top)

config ROM_START_OFFSET
    hex
    default 0x100
    depends on BOOTLOADER_MCUBOOT && BOARD_INTEL_S1000_CRB

At <Zephyr>/soc/arm/nxp_imx/rt/Kconfig.defconfig.series:11

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:19<BuildDir>/Kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/arm/nxp_imx/Kconfig.defconfig:4

Menu path: (Top)

config ROM_START_OFFSET
    hex
    default 0x2000 if BOOT_FLEXSPI_NOR || BOOT_SEMC_NOR
    depends on SOC_SERIES_IMX_RT

At <Zephyr>/soc/arm/nxp_imx/rt6xx/Kconfig.defconfig.series:11

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:19<BuildDir>/Kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/arm/nxp_imx/Kconfig.defconfig:4

Menu path: (Top)

config ROM_START_OFFSET
    hex
    default 0x1200 if NXP_IMX_RT6XX_BOOT_HEADER
    depends on SOC_SERIES_IMX_RT6XX

At <Zephyr>/soc/arm/st_stm32/stm32h7/Kconfig.defconfig.series:15

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:19<BuildDir>/Kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/arm/st_stm32/Kconfig.defconfig:3

Menu path: (Top)

config ROM_START_OFFSET
    hex
    default 0x400 if BOOTLOADER_MCUBOOT
    default 0x0 if !BOOTLOADER_MCUBOOT
    depends on SOC_SERIES_STM32H7X

At <Zephyr>/soc/arm/ti_simplelink/cc32xx/Kconfig.defconfig.cc3220sf:18

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:19<BuildDir>/Kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/arm/ti_simplelink/Kconfig.defconfig:3<Zephyr>/soc/arm/ti_simplelink/cc32xx/Kconfig.defconfig.series:7

Menu path: (Top)

config ROM_START_OFFSET
    hex
    default 0x800 if XIP
    default 0x0 if !XIP
    depends on SOC_CC3220SF && SOC_SERIES_CC32XX

At <Zephyr>/soc/arm/ti_simplelink/cc32xx/Kconfig.defconfig.cc3235sf:19

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:19<BuildDir>/Kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/arm/ti_simplelink/Kconfig.defconfig:3<Zephyr>/soc/arm/ti_simplelink/cc32xx/Kconfig.defconfig.series:7

Menu path: (Top)

config ROM_START_OFFSET
    hex
    default 0x800 if XIP
    default 0x0 if !XIP
    depends on SOC_CC3235SF && SOC_SERIES_CC32XX

At <Zephyr>/modules/Kconfig.tfm:155

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:23<Zephyr>/modules/Kconfig:32

Menu path: (Top) → Modules → Build with TF-M as the Secure Execution Environment

config ROM_START_OFFSET
    hex "ROM Start Offset accounting for BL2 Header in the NS image"
    default 0x400
    depends on !TFM_BL2_FALSE && 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 <Zephyr>/Kconfig.zephyr:121

Included via <Zephyr>/Kconfig:8

Menu path: (Top) → Build and Link Features → Linker Options

config ROM_START_OFFSET
    hex "ROM start offset"
    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.)