diff --git a/targets/TARGET_STM/TARGET_STM32F3/TARGET_STM32F303xC/TOOLCHAIN_GCC_ARM/STM32F303XC.ld b/targets/TARGET_STM/TARGET_STM32F3/TARGET_STM32F303xC/TOOLCHAIN_GCC_ARM/STM32F303XC.ld index 5f479936c8..afc963988e 100644 --- a/targets/TARGET_STM/TARGET_STM32F3/TARGET_STM32F303xC/TOOLCHAIN_GCC_ARM/STM32F303XC.ld +++ b/targets/TARGET_STM/TARGET_STM32F3/TARGET_STM32F303xC/TOOLCHAIN_GCC_ARM/STM32F303XC.ld @@ -37,8 +37,9 @@ MEMORY { - FLASH (rx) : ORIGIN = MBED_APP_START, LENGTH = MBED_APP_SIZE - RAM (rwx) : ORIGIN = MBED_RAM_START + VECTORS_SIZE, LENGTH = MBED_RAM_SIZE - VECTORS_SIZE + FLASH (rx) : ORIGIN = MBED_APP_START, LENGTH = MBED_APP_SIZE + RAM (rwx) : ORIGIN = MBED_RAM_START + VECTORS_SIZE, LENGTH = MBED_RAM_SIZE - VECTORS_SIZE + RAM_CCM (rwx) : ORIGIN = MBED_RAM1_START, LENGTH = MBED_RAM1_SIZE } /* Linker script to place sections and symbol values. Should be used together @@ -113,7 +114,7 @@ SECTIONS __etext = .; _sidata = .; - + .data : AT (__etext) { __data_start__ = .; @@ -161,7 +162,7 @@ SECTIONS . = ALIGN(32); __uninitialized_end = .; } > RAM - + .bss : { . = ALIGN(8); @@ -183,6 +184,14 @@ SECTIONS __HeapLimit = .; } > RAM + .ram_ccm_section (NOLOAD): + { + __ram_ccm_start__ = .; + *(.RAM_CCM_section) + . = ORIGIN(RAM_CCM) + LENGTH(RAM_CCM); + __ram_ccm_end__ = .; + } >RAM_CCM + /* .stack_dummy section doesn't contains any symbols. It is only * used for linker to calculate size of stack sections, and assign * values to stack symbols later */