Fix stacksize & make common area size a variable

This commit is contained in:
slurdge 2020-06-10 14:06:45 +02:00
commit cba76ca167

View file

@ -10,6 +10,7 @@ ms of the GNU GPL, version 2 or,
*/ */
stacksize = DEFINED(stacksize) ? stacksize : 4K; stacksize = DEFINED(stacksize) ? stacksize : 4K;
commonareasize = 0x20;
/* AT91SAM7S256 has 256k Flash and 64k RAM */ /* AT91SAM7S256 has 256k Flash and 64k RAM */
/* AT91SAM7S512 has 512k Flash and 64k RAM */ /* AT91SAM7S512 has 512k Flash and 64k RAM */
@ -20,9 +21,9 @@ MEMORY
bootphase1 : ORIGIN = 0x00100000, LENGTH = 0x200 /* Phase 1 bootloader: Copies real bootloader to RAM */ bootphase1 : ORIGIN = 0x00100000, LENGTH = 0x200 /* Phase 1 bootloader: Copies real bootloader to RAM */
bootphase2 : ORIGIN = 0x00100200, LENGTH = 0x2000 - 0x200 /* Main bootloader code, stored in Flash, executed from RAM */ bootphase2 : ORIGIN = 0x00100200, LENGTH = 0x2000 - 0x200 /* Main bootloader code, stored in Flash, executed from RAM */
osimage : ORIGIN = 0x00102000, LENGTH = 512K - 0x2000 /* Place where the main OS will end up */ osimage : ORIGIN = 0x00102000, LENGTH = 512K - 0x2000 /* Place where the main OS will end up */
ram : ORIGIN = 0x00200000, LENGTH = 64K - 0x20 /* RAM, minus small common area */ ram : ORIGIN = 0x00200000, LENGTH = 64K - commonareasize /* RAM, minus small common area */
stack : ORIGIN = 0x00200000 + 64K - 4K - 0x20, LENGTH = stacksize /* Stack */ stack : ORIGIN = 0x00200000 + 64K - stacksize - commonareasize, LENGTH = stacksize /* Stack */
commonarea : ORIGIN = 0x00200000 + 64K - 0x20, LENGTH = 0x20 /* Communication between bootloader and main OS */ commonarea : ORIGIN = 0x00200000 + 64K - commonareasize, LENGTH = commonareasize /* Communication between bootloader and main OS */
} }
/* Export some information that can be used from within the firmware */ /* Export some information that can be used from within the firmware */