Skip to content

Commit 849ccb1

Browse files
Alexander KozhinovAlexander Kozhinov
authored andcommitted
arm: aarch32: cortex-M
update linker script to use noncaheable region by alias Signed-off-by: Alexander Kozhinov <[email protected]>
1 parent e73f2ce commit 849ccb1

File tree

1 file changed

+27
-5
lines changed
  • include/arch/arm/aarch32/cortex_m/scripts

1 file changed

+27
-5
lines changed

include/arch/arm/aarch32/cortex_m/scripts/linker.ld

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,33 @@ MEMORY
9292
LINKER_DT_REGION_FROM_NODE(SRAM1, rw, DT_NODELABEL(sram1))
9393
LINKER_DT_REGION_FROM_NODE(SRAM2, rw, DT_NODELABEL(sram2))
9494
/* STM32 alternate RAM configurations */
95-
LINKER_DT_REGION_FROM_NODE(SRAM3, rw, DT_NODELABEL(sram3))
96-
LINKER_DT_REGION_FROM_NODE(SRAM4, rw, DT_NODELABEL(sram4))
97-
LINKER_DT_REGION_FROM_NODE(SDRAM1, rw, DT_NODELABEL(sdram1))
98-
LINKER_DT_REGION_FROM_NODE(SDRAM2, rw, DT_NODELABEL(sdram2))
99-
LINKER_DT_REGION_FROM_NODE(BACKUP_SRAM, rw, DT_NODELABEL(backup_sram))
95+
96+
#if DT_NODE_HAS_STATUS(DT_ALIAS(sramnocache), okay)
97+
DT_REGION_FROM_NODE_STATUS_OKAY(sramnocache, rw, DT_ALIAS(sramnocache))
98+
99+
#if !DT_SAME_NODE(DT_ALIAS(sramnocache), DT_NODELABEL(sram3))
100+
DT_REGION_FROM_NODE_STATUS_OKAY(SRAM3, rw, DT_NODELABEL(sram3))
101+
#endif
102+
#if !DT_SAME_NODE(DT_ALIAS(sramnocache), DT_NODELABEL(sram4))
103+
DT_REGION_FROM_NODE_STATUS_OKAY(SRAM4, rw, DT_NODELABEL(sram4))
104+
#endif
105+
#if !DT_SAME_NODE(DT_ALIAS(sramnocache), DT_NODELABEL(sdram1))
106+
DT_REGION_FROM_NODE_STATUS_OKAY(SDRAM1, rw, DT_NODELABEL(sdram1))
107+
#endif
108+
#if !DT_SAME_NODE(DT_ALIAS(sramnocache), DT_NODELABEL(sdram2))
109+
DT_REGION_FROM_NODE_STATUS_OKAY(SDRAM2, rw, DT_NODELABEL(sdram2))
110+
#endif
111+
#if !DT_SAME_NODE(DT_ALIAS(sramnocache), DT_NODELABEL(backup_sram))
112+
DT_REGION_FROM_NODE_STATUS_OKAY(BACKUP_SRAM, rw, DT_NODELABEL(backup_sram))
113+
#endif
114+
115+
#else
116+
DT_REGION_FROM_NODE_STATUS_OKAY(SRAM3, rw, DT_NODELABEL(sram3))
117+
DT_REGION_FROM_NODE_STATUS_OKAY(SRAM4, rw, DT_NODELABEL(sram4))
118+
DT_REGION_FROM_NODE_STATUS_OKAY(SDRAM1, rw, DT_NODELABEL(sdram1))
119+
DT_REGION_FROM_NODE_STATUS_OKAY(SDRAM2, rw, DT_NODELABEL(sdram2))
120+
DT_REGION_FROM_NODE_STATUS_OKAY(BACKUP_SRAM, rw, DT_NODELABEL(backup_sram))
121+
#endif
100122
/* Used by and documented in include/linker/intlist.ld */
101123
IDT_LIST (wx) : ORIGIN = 0xFFFFF7FF, LENGTH = 2K
102124
}

0 commit comments

Comments
 (0)