Skip to content

Commit 48825c2

Browse files
committed
soc: nxp: imxrt: clean section definitions in boot header
Clean up redundancy boot header sections configuration in cmake file as they have been defined in boot_header.ld very well and already included. Add new section name macro definitions, use these macro instead of hard code the section name. Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
1 parent 6522596 commit 48825c2

File tree

3 files changed

+16
-63
lines changed

3 files changed

+16
-63
lines changed

include/zephyr/linker/sections.h

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,13 @@
6363
#define _OCM_BSS_SECTION_NAME .ocm_bss
6464
#endif
6565

66-
#define _IMX_BOOT_CONF_SECTION_NAME .boot_hdr.conf
67-
#define _IMX_BOOT_DATA_SECTION_NAME .boot_hdr.data
68-
#define _IMX_BOOT_IVT_SECTION_NAME .boot_hdr.ivt
69-
#define _IMX_BOOT_DCD_SECTION_NAME .boot_hdr.dcd_data
70-
#define _IMX_BOOT_CONTAINER_SECTION_NAME .boot_hdr.container
66+
#define _IMX_BOOT_CONF_SECTION_NAME .boot_hdr.conf
67+
#define _IMX_BOOT_DATA_SECTION_NAME .boot_hdr.data
68+
#define _IMX_BOOT_IVT_SECTION_NAME .boot_hdr.ivt
69+
#define _IMX_BOOT_DCD_SECTION_NAME .boot_hdr.dcd_data
70+
#define _IMX_BOOT_CONTAINER_SECTION_NAME .boot_hdr.container
71+
#define _IMX_BOOT_FLASH_CONF_SECTION_NAME .flash_conf
72+
#define _IMX_BOOT_XMCD_SECTION_NAME .boot_hdr.xmcd_data
7173

7274
#define _STM32_SDRAM1_SECTION_NAME .stm32_sdram1
7375
#define _STM32_SDRAM2_SECTION_NAME .stm32_sdram2

soc/nxp/imxrt/CMakeLists.txt

Lines changed: 1 addition & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -10,59 +10,10 @@ zephyr_linker_sources_ifdef(CONFIG_NXP_IMXRT_BOOT_HEADER
1010
ROM_START SORT_KEY 0 boot_header.ld)
1111

1212
if(CONFIG_SOC_SERIES_IMXRT10XX OR CONFIG_SOC_SERIES_IMXRT11XX)
13-
if(CONFIG_DEVICE_CONFIGURATION_DATA)
14-
set(boot_hdr_dcd_data_section ".boot_hdr.dcd_data")
15-
endif()
16-
if(CONFIG_EXTERNAL_MEM_CONFIG_DATA)
17-
set(boot_hdr_xmcd_data_section ".boot_hdr.xmcd_data")
18-
endif()
1913
zephyr_sources_ifdef(CONFIG_ARM_MPU mpu_regions.c)
20-
zephyr_linker_section_configure(
21-
SECTION .rom_start
22-
INPUT ".boot_hdr.conf"
23-
OFFSET ${CONFIG_FLEXSPI_CONFIG_BLOCK_OFFSET}
24-
KEEP
25-
PRIO 10
26-
)
27-
zephyr_linker_section_configure(
28-
SECTION .rom_start
29-
INPUT ".boot_hdr.ivt"
30-
".boot_hdr.data"
31-
${boot_hdr_dcd_data_section}
32-
${boot_hdr_xmcd_data_section}
33-
OFFSET ${CONFIG_IMAGE_VECTOR_TABLE_OFFSET}
34-
FIRST
35-
KEEP
36-
PRIO 11
37-
)
38-
zephyr_compile_definitions(XIP_EXTERNAL_FLASH)
3914
endif()
4015

41-
if(CONFIG_SOC_SERIES_IMXRT118X)
42-
if(CONFIG_EXTERNAL_MEM_CONFIG_DATA)
43-
set(boot_hdr_xmcd_data_section ".boot_hdr.xmcd_data")
44-
endif()
45-
zephyr_linker_section_configure(
46-
SECTION .rom_start
47-
INPUT ".boot_hdr.conf"
48-
OFFSET ${CONFIG_FLEXSPI_CONFIG_BLOCK_OFFSET}
49-
KEEP
50-
PRIO 10
51-
)
52-
zephyr_linker_section_configure(
53-
SECTION .rom_start
54-
INPUT ${boot_hdr_xmcd_data_section}
55-
OFFSET ${CONFIG_EXTERNAL_MEM_CONFIG_OFFSET}
56-
KEEP
57-
PRIO 10
58-
)
59-
zephyr_linker_section_configure(
60-
SECTION .rom_start
61-
INPUT ".boot_hdr.container"
62-
OFFSET ${CONFIG_IMAGE_CONTAINER_OFFSET}
63-
KEEP
64-
PRIO 11
65-
)
16+
if(CONFIG_SOC_SERIES_IMXRT10XX OR CONFIG_SOC_SERIES_IMXRT11XX OR CONFIG_SOC_SERIES_IMXRT118X)
6617
zephyr_compile_definitions(XIP_EXTERNAL_FLASH)
6718
endif()
6819

soc/nxp/imxrt/boot_header.ld

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,29 @@ __Vectors = __VECTOR_TABLE;
1515
. = CONFIG_FLEXSPI_CONFIG_BLOCK_OFFSET;
1616
#endif
1717
#if defined(CONFIG_SOC_SERIES_IMXRT11XX) || defined(CONFIG_SOC_SERIES_IMXRT10XX) || defined(CONFIG_SOC_SERIES_IMXRT118X)
18-
KEEP(*(.boot_hdr.conf))
18+
KEEP(*(_IMX_BOOT_CONF_SECTION_NAME))
1919
#endif
2020
#if defined(CONFIG_SOC_SERIES_IMXRT6XX) || defined(CONFIG_SOC_SERIES_IMXRT5XX) || defined(CONFIG_SOC_SERIES_IMXRT7XX)
21-
KEEP(*(.flash_conf))
21+
KEEP(*(_IMX_BOOT_FLASH_CONF_SECTION_NAME))
2222
#endif
2323
#if defined(CONFIG_SOC_SERIES_IMXRT118X)
2424
#ifdef CONFIG_EXTERNAL_MEM_CONFIG_DATA
2525
. = CONFIG_EXTERNAL_MEM_CONFIG_OFFSET;
26-
KEEP(*(.boot_hdr.xmcd_data))
26+
KEEP(*(_IMX_BOOT_XMCD_SECTION_NAME))
2727
#endif
2828
. = CONFIG_IMAGE_CONTAINER_OFFSET;
29-
KEEP(*(.boot_hdr.container))
29+
KEEP(*(_IMX_BOOT_CONTAINER_SECTION_NAME))
3030
#else
3131
. = CONFIG_IMAGE_VECTOR_TABLE_OFFSET;
32-
KEEP(*(.boot_hdr.ivt))
32+
KEEP(*(_IMX_BOOT_IVT_SECTION_NAME))
3333
#endif
3434
#if defined(CONFIG_SOC_SERIES_IMXRT11XX) || defined(CONFIG_SOC_SERIES_IMXRT10XX)
35-
KEEP(*(.boot_hdr.data))
35+
KEEP(*(_IMX_BOOT_DATA_SECTION_NAME))
3636
#ifdef CONFIG_DEVICE_CONFIGURATION_DATA
37-
KEEP(*(.boot_hdr.dcd_data))
37+
KEEP(*(_IMX_BOOT_DCD_SECTION_NAME))
3838
#endif /* CONFIG_DEVICE_CONFIGURATION_DATA */
3939
#ifdef CONFIG_EXTERNAL_MEM_CONFIG_DATA
4040
. = CONFIG_EXTERNAL_MEM_CONFIG_OFFSET;
41-
KEEP(*(.boot_hdr.xmcd_data))
41+
KEEP(*(_IMX_BOOT_XMCD_SECTION_NAME))
4242
#endif
4343
#endif /* CONFIG_SOC_SERIES_IMXRT10XX || CONFIG_SOC_SERIES_IMXRT11XX */

0 commit comments

Comments
 (0)