mirror of https://github.com/ARMmbed/mbed-os.git
[TT] Support boot stack size configuration option
parent
4ee9378297
commit
d97c4d5506
|
@ -1,3 +1,4 @@
|
||||||
|
#! armcc -E
|
||||||
;; TMPM3HQFDFG scatter file
|
;; TMPM3HQFDFG scatter file
|
||||||
|
|
||||||
;; Vector table starts at 0
|
;; Vector table starts at 0
|
||||||
|
@ -13,6 +14,12 @@
|
||||||
|
|
||||||
;; Compatible with ISSM model
|
;; Compatible with ISSM model
|
||||||
|
|
||||||
|
#if !defined(MBED_BOOT_STACK_SIZE)
|
||||||
|
#define MBED_BOOT_STACK_SIZE 0x400
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define Stack_Size MBED_BOOT_STACK_SIZE
|
||||||
|
|
||||||
LR_IROM1 0x00000000 0x80000
|
LR_IROM1 0x00000000 0x80000
|
||||||
{
|
{
|
||||||
ER_IROM1 0x00000000 0x80000
|
ER_IROM1 0x00000000 0x80000
|
||||||
|
@ -26,4 +33,7 @@ LR_IROM1 0x00000000 0x80000
|
||||||
{
|
{
|
||||||
.ANY (+RW, +ZI)
|
.ANY (+RW, +ZI)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ARM_LIB_STACK 0x200002D8+0x10000 EMPTY -Stack_Size { ; Stack region growing down
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,10 @@ MEMORY
|
||||||
RAM (rwx) : ORIGIN = (0x20000000 + 0x2D8), LENGTH = (64K - 0x2D8)
|
RAM (rwx) : ORIGIN = (0x20000000 + 0x2D8), LENGTH = (64K - 0x2D8)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !defined(MBED_BOOT_STACK_SIZE)
|
||||||
|
#define MBED_BOOT_STACK_SIZE 0x400
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Linker script to place sections and symbol values. Should be used together
|
/* Linker script to place sections and symbol values. Should be used together
|
||||||
* with other linker script that defines memory regions FLASH and RAM.
|
* with other linker script that defines memory regions FLASH and RAM.
|
||||||
* It references following symbols, which must be defined in code:
|
* It references following symbols, which must be defined in code:
|
||||||
|
@ -153,7 +157,7 @@ SECTIONS
|
||||||
/* Set stack top to end of RAM, and stack limit move down by
|
/* Set stack top to end of RAM, and stack limit move down by
|
||||||
* size of stack_dummy section */
|
* size of stack_dummy section */
|
||||||
__StackTop = ORIGIN(RAM) + LENGTH(RAM);
|
__StackTop = ORIGIN(RAM) + LENGTH(RAM);
|
||||||
__StackLimit = __StackTop - SIZEOF(.stack_dummy);
|
__StackLimit = __StackTop - MBED_BOOT_STACK_SIZE;
|
||||||
PROVIDE(__stack = __StackTop);
|
PROVIDE(__stack = __StackTop);
|
||||||
|
|
||||||
/* Check if data + heap + stack exceeds RAM limit */
|
/* Check if data + heap + stack exceeds RAM limit */
|
||||||
|
|
|
@ -9,8 +9,10 @@ define symbol __ICFEDIT_region_ROM_end__ = 0x0007FFFF;
|
||||||
define symbol __ICFEDIT_region_RAM_start__ = 0x200002D8;
|
define symbol __ICFEDIT_region_RAM_start__ = 0x200002D8;
|
||||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF;
|
define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF;
|
||||||
/*-Sizes-*/
|
/*-Sizes-*/
|
||||||
/*Heap 1/4 of ram and stack 1/8*/
|
if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
|
||||||
define symbol __ICFEDIT_size_cstack__ = 0x400;
|
define symbol MBED_BOOT_STACK_SIZE = 0x400;
|
||||||
|
}
|
||||||
|
define symbol __ICFEDIT_size_cstack__ = MBED_BOOT_STACK_SIZE;
|
||||||
define symbol __ICFEDIT_size_heap__ = 0x2000;
|
define symbol __ICFEDIT_size_heap__ = 0x2000;
|
||||||
/**** End of ICF editor section. ###ICF###*/
|
/**** End of ICF editor section. ###ICF###*/
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue