mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-18 12:54:25 +01:00
Fixed linker script to allow growing stack+heap.
This commit is contained in:
parent
00e029209d
commit
cf28ccfb06
@ -40,8 +40,6 @@ MEMORY
|
||||
ram (rwx) : ORIGIN = 0x20070000, LENGTH = 0x00018000 /* sram, 96K */
|
||||
}
|
||||
|
||||
RAM_END = 0x20088000 ; /* There is a way to define this as ram.ORIGIN + ram.LENGTH ? */
|
||||
|
||||
/* Section Definitions */
|
||||
SECTIONS
|
||||
{
|
||||
@ -116,7 +114,7 @@ SECTIONS
|
||||
} > ram
|
||||
|
||||
/* .bss section which is used for uninitialized data */
|
||||
.bss (NOLOAD) :
|
||||
.bss ALIGN(4) (NOLOAD) :
|
||||
{
|
||||
. = ALIGN(4);
|
||||
_sbss = . ;
|
||||
@ -131,10 +129,18 @@ SECTIONS
|
||||
. = ALIGN(4);
|
||||
_end = . ;
|
||||
|
||||
/* put stack section at the bottom of ram space */
|
||||
.stack RAM_END (NOLOAD):
|
||||
/* .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 */
|
||||
.stack_dummy :
|
||||
{
|
||||
_sstack = .;
|
||||
_estack = .;
|
||||
*(.stack*)
|
||||
} > ram
|
||||
|
||||
/* Set stack top to end of ram, and stack limit move down by
|
||||
* size of stack_dummy section */
|
||||
__StackTop = ORIGIN(ram) + LENGTH(ram);
|
||||
__StackLimit = __StackTop - SIZEOF(.stack_dummy);
|
||||
PROVIDE(_sstack = __StackLimit);
|
||||
PROVIDE(_estack = __StackTop);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user