Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

CCS: TMS570LC4357 - safeti library use - stack data setting

$
0
0

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?


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>