aboutsummaryrefslogtreecommitdiff
path: root/ports/stm32/boards/stm32l432.ld
diff options
context:
space:
mode:
authorChris Mason2019-05-15 00:43:38 +1000
committerDamien George2019-06-14 15:29:24 +1000
commit14cf91f70467aa928f3e17223f108ace0864b4fe (patch)
treefdc70c3501e88d8c402d745923df30e243f059d9 /ports/stm32/boards/stm32l432.ld
parent8b18cfedee441413d6b53a3d7c083a1e3a1a47e6 (diff)
stm32: In link script, define start of stack separately from heap end.
Previously the end of the heap was the start (lowest address) of the stack. With the changes in this commit these addresses are now independent, allowing a board to place the heap and stack in separate locations.
Diffstat (limited to 'ports/stm32/boards/stm32l432.ld')
-rw-r--r--ports/stm32/boards/stm32l432.ld8
1 files changed, 4 insertions, 4 deletions
diff --git a/ports/stm32/boards/stm32l432.ld b/ports/stm32/boards/stm32l432.ld
index 70956c95b..40515e75b 100644
--- a/ports/stm32/boards/stm32l432.ld
+++ b/ports/stm32/boards/stm32l432.ld
@@ -15,13 +15,13 @@ MEMORY
_minimum_stack_size = 2K;
_minimum_heap_size = 16K;
-/* Define the top end of the stack. The stack is full descending so begins just
- above last byte of RAM. Note that EABI requires the stack to be 8-byte
- aligned for a call. */
+/* Define the stack. The stack is full descending so begins just above last byte
+ of RAM. Note that EABI requires the stack to be 8-byte aligned for a call. */
_estack = ORIGIN(RAM) + LENGTH(RAM);
+_sstack = _estack - 6K; /* tunable */
/* RAM extents for the garbage collector */
_ram_start = ORIGIN(RAM);
_ram_end = ORIGIN(RAM) + LENGTH(RAM);
_heap_start = _ebss; /* heap starts just after statically allocated memory */
-_heap_end = 0x2000A800; /* room for a 6k stack */
+_heap_end = _sstack;