diff --git a/include/arch/arm/cortex_m/scripts/linker.ld b/include/arch/arm/cortex_m/scripts/linker.ld index 2b00d7cd3e8..5d1891acced 100644 --- a/include/arch/arm/cortex_m/scripts/linker.ld +++ b/include/arch/arm/cortex_m/scripts/linker.ld @@ -144,16 +144,6 @@ SECTIONS KEEP(*(".dbghdr.*")) #endif -#ifdef CONFIG_NXP_IMX_RT_BOOT_HEADER - KEEP(*(.boot_hdr.conf)) - . = CONFIG_IMAGE_VECTOR_TABLE_OFFSET; - KEEP(*(.boot_hdr.ivt)) - KEEP(*(.boot_hdr.data)) -#ifdef CONFIG_DEVICE_CONFIGURATION_DATA - KEEP(*(.boot_hdr.dcd_data)) -#endif -#endif - . = CONFIG_TEXT_SECTION_OFFSET; /* Located in generated directory. This file is populated by the diff --git a/include/arch/arm/cortex_r/scripts/linker.ld b/include/arch/arm/cortex_r/scripts/linker.ld index a6f602415ea..7fec36c4a2b 100644 --- a/include/arch/arm/cortex_r/scripts/linker.ld +++ b/include/arch/arm/cortex_r/scripts/linker.ld @@ -141,16 +141,6 @@ SECTIONS KEEP(*(".dbghdr.*")) #endif -#ifdef CONFIG_NXP_IMX_RT_BOOT_HEADER - KEEP(*(.boot_hdr.conf)) - . = CONFIG_IMAGE_VECTOR_TABLE_OFFSET; - KEEP(*(.boot_hdr.ivt)) - KEEP(*(.boot_hdr.data)) -#ifdef CONFIG_DEVICE_CONFIGURATION_DATA - KEEP(*(.boot_hdr.dcd_data)) -#endif -#endif - . = CONFIG_TEXT_SECTION_OFFSET; /* Located in generated directory. This file is populated by the diff --git a/soc/arm/nxp_imx/rt/CMakeLists.txt b/soc/arm/nxp_imx/rt/CMakeLists.txt index 09d3c2b6c33..b709c3a72f8 100644 --- a/soc/arm/nxp_imx/rt/CMakeLists.txt +++ b/soc/arm/nxp_imx/rt/CMakeLists.txt @@ -7,3 +7,6 @@ zephyr_sources( soc.c ) + +zephyr_linker_sources_ifdef(CONFIG_NXP_IMX_RT_BOOT_HEADER + TEXT_START SORT_KEY 0 boot_header.ld) diff --git a/soc/arm/nxp_imx/rt/boot_header.ld b/soc/arm/nxp_imx/rt/boot_header.ld new file mode 100644 index 00000000000..6172dc1a4c8 --- /dev/null +++ b/soc/arm/nxp_imx/rt/boot_header.ld @@ -0,0 +1,14 @@ +/* + * Copyright (c) 2019 NXP + * Copyright (c) 2019 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +KEEP(*(.boot_hdr.conf)) +. = CONFIG_IMAGE_VECTOR_TABLE_OFFSET; +KEEP(*(.boot_hdr.ivt)) +KEEP(*(.boot_hdr.data)) +#ifdef CONFIG_DEVICE_CONFIGURATION_DATA + KEEP(*(.boot_hdr.dcd_data)) +#endif