1
0
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:
Cristian Maglie 2012-08-13 14:44:30 +02:00
parent 00e029209d
commit cf28ccfb06

View File

@ -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);
}