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 5f47993..e8e6b52 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 @@ -183,6 +184,15 @@ __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 */ diff --git a/targets/TARGET_STM/TARGET_STM32F3/TARGET_STM32F303xC/cmsis_nvic.h b/targets/TARGET_STM/TARGET_STM32F3/TARGET_STM32F303xC/cmsis_nvic.h index c3bf494..1587dc7 100644 --- a/targets/TARGET_STM/TARGET_STM32F3/TARGET_STM32F303xC/cmsis_nvic.h +++ b/targets/TARGET_STM/TARGET_STM32F3/TARGET_STM32F303xC/cmsis_nvic.h @@ -30,7 +30,7 @@ #endif #if !defined(MBED_RAM_SIZE) -#define MBED_RAM_SIZE 0xc000 // 48 KB +#define MBED_RAM_SIZE 0xa000 // 40 KB #endif #if !defined(MBED_RAM1_START)