Tool/software: Code Composer Studio
i use safeti library.
I wonder the size of stack.
In the cmd file, i set the memory and sections follows.
/*----------------------------------------------------------------------------*/
/* Memory Map */
MEMORY
{
VECTORS (X) : origin=0x00000000 length=0x00000020
FLASH0 (RX) : origin=0x00000020 length=0x001FFFE0
FLASH1 (RX) : origin=0x00200000 length=0x00200000
STACKS (RW) : origin=0x08000000 length=0x00021800
RAM (RW) : origin=0x8021800 length=0x19000
HIGH_HANDLER (RWX) : origin=0x803A800 length=0x000800
PROFILE(RW) : origin=0x803B000 length=0x00008000 /* Added for profiling purposes */
LOG (RW) : origin=0x8043000 length=0x00003000 fill=0xDEADBEEF/* Added for logging purposes */
FEE (R) : origin=0xF0200000 length=0x00000064 fill=0xDEADBEEF /* For FEE testing, Valid only for sample application */
}
/*----------------------------------------------------------------------------*/
/* Section Configuration */
SECTIONS
{
.excpt_vecs : START( ulFlashStartAddr ) {} > VECTORS
.sl_stflash_SRAM : RUN = HIGH_HANDLER, LOAD = FLASH0|FLASH1, LOAD_START(ulHighHandlerLoadStart), LOAD_END(ulHighHandlerLoadEnd),
LOAD_SIZE(ulHighHandlerSize), RUN_START( ulHighHandlerStartAddr ), RUN_END( ulHighHandlerEndAddr )
.text : {} > FLASH0|FLASH1
.const : END( ulFlashEndAddr )
{} > FLASH0|FLASH1
.cinit : {} > FLASH0|FLASH1
.pinit : {} > FLASH0|FLASH1
.STACK_DATA_svc : {. += 1024;} > STACKS, RUN_START(StackModeSVC)
.STACK_DATA_fiq : {. += 1024;} > STACKS, RUN_START(StackModeFIQ)
.STACK_DATA_irq : {. += 1024;} > STACKS, RUN_START(StackModeIRQ)
.STACK_DATA_abt : {. += 1024;} > STACKS, RUN_START(StackModeABT)
.STACK_DATA_und : {. += 1024;} > STACKS, RUN_START(StackModeUND)
.STACK_DATA_sys : {. += 132096;} > STACKS, RUN_START(StackModeSYS)
.bss : {} > RAM
.data : {} > RAM
.sysmem : {} > RAM
LOG_DATA : START( ulLOGStartAddr ), END( ulLOGEndAddr ) > LOG
PROFILE_DATA : START( ulPROFILEStartAddr ), END( ulPROFILEEndAddr ) > PROFILE
}
Then, the used stack is fulled in the map file.
MEMORY CONFIGURATION
name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
VECTORS 00000000 00000020 00000020 00000000 X
FLASH0 00000020 001fffe0 00019dd8 001e6208 R X
FLASH1 00200000 00200000 00000000 00200000 R X
STACKS 08000000 00021800 00021800 00000000 RW
RAM 08021800 00019000 000043c0 00014c40 RW
HIGH_HANDLER 0803a800 00000800 00000330 000004d0 RW X
PROFILE 0803b000 00008000 00000000 00008000 RW
LOG 08043000 00003000 00003000 00000000 RW deadbeef
FEE f0200000 00000064 00000064 00000000 R deadbeef
Then, I wonder where is the user stack?. and It is the right setting to use stack for user as 132096 size?