diff --git a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_SILICA_SENSOR_NODE/device/TOOLCHAIN_GCC_ARM/STM32L476XX.ld b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_SILICA_SENSOR_NODE/device/TOOLCHAIN_GCC_ARM/STM32L476XX.ld index ee234161e0..078571ccde 100644 --- a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_SILICA_SENSOR_NODE/device/TOOLCHAIN_GCC_ARM/STM32L476XX.ld +++ b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_SILICA_SENSOR_NODE/device/TOOLCHAIN_GCC_ARM/STM32L476XX.ld @@ -6,6 +6,9 @@ #define MBED_APP_SIZE 1024k #endif +STACK_SIZE = 0x400; +HEAP_SIZE = 0x7800; + /* Linker script to configure memory regions. */ MEMORY { @@ -86,6 +89,11 @@ SECTIONS __etext = .; _sidata = .; + .mesh_heap (COPY): + { + *(mesh_heap*) + } > SRAM2 + .data : AT (__etext) { __data_start__ = .; @@ -138,7 +146,7 @@ SECTIONS { __end__ = .; end = __end__; - *(.heap*) + . += HEAP_SIZE; __HeapLimit = .; } > SRAM1 @@ -154,7 +162,7 @@ SECTIONS * size of stack_dummy section */ __StackTop = ORIGIN(SRAM1) + LENGTH(SRAM1); _estack = __StackTop; - __StackLimit = __StackTop - SIZEOF(.stack_dummy); + __StackLimit = __StackTop - STACK_SIZE; PROVIDE(__stack = __StackTop); /* Check if data + heap + stack exceeds RAM limit */