diff --git a/ld/devices.data b/ld/devices.data index a27ef62b..38bd3134 100644 --- a/ld/devices.data +++ b/ld/devices.data @@ -421,7 +421,7 @@ stm32f4 END ROM_OFF=0x08000000 RAM_OFF=0x20000000 CPU=cortex-m4 FPU=hard-fpv4-sp stm32f7 END ROM_OFF=0x08000000 RAM_OFF=0x20010000 CPU=cortex-m7 FPU=hard-fpv5-sp-d16 stm32l0 END ROM_OFF=0x08000000 RAM_OFF=0x20000000 CPU=cortex-m0plus FPU=soft stm32l1 END ROM_OFF=0x08000000 RAM_OFF=0x20000000 CPU=cortex-m3 FPU=soft -stm32l4 END ROM_OFF=0x08000000 RAM_OFF=0x20000000 RAM2_OFF=0x10000000 CPU=cortex-m4 FPU=hard-fpv4-sp-d16 +stm32l4 END ROM_OFF=0x08000000 RAM_OFF=0x20000000 RAM2_OFF=0x10000000 RAM3_OFF=0x20040000 CPU=cortex-m4 FPU=hard-fpv4-sp-d16 stm32w END ROM_OFF=0x08000000 RAM_OFF=0x20000000 CPU=cortex-m3 FPU=soft stm32t END ROM_OFF=0x08000000 RAM_OFF=0x20000000 CPU=cortex-m3 FPU=soft diff --git a/ld/linker.ld.S b/ld/linker.ld.S index 51cdacd5..908ad9ea 100644 --- a/ld/linker.ld.S +++ b/ld/linker.ld.S @@ -47,6 +47,9 @@ MEMORY #if defined(_RAM2) ram2 (rwx) : ORIGIN = _RAM2_OFF, LENGTH = _RAM2 #endif +#if defined(_RAM3) + ram3 (rwx) : ORIGIN = _RAM3_OFF, LENGTH = _RAM3 +#endif #if defined(_CCM) ccm (rwx) : ORIGIN = _CCM_OFF, LENGTH = _CCM #endif @@ -151,6 +154,13 @@ SECTIONS } >ram2 #endif +#if defined(_RAM3) + .ram3 : { + *(.ram3*) + . = ALIGN(4); + } >ram3 +#endif + #if defined(_XSRAM) .xsram : { *(.xsram*)