This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

c6657 map file and ISA, PLAT, TARG and TRDR

Other Parts Discussed in Thread: SYSBIOS

Hello,

I am compiling for the C6657 and wanted to have a variable in L2SRAM.  So in the code it is defined as

#pragma DATA_ALIGN(fBuf, 128)
float fBuf [1024];

In the map file I see this

00800000   __ASM__
00800000   fBuf
00800058   __ISA__
00800070   __PLAT__
00800098   __TARG__
008000c0   __TRDR__
...

What is this ISA, PLAT, TARG and TRDR and why are they overlapped with my fbuf?

Thanks,

Fawad

  • Fawad,

    These are symbols generated and/or used by the tools or libraries that you are using. These are not necessarily memory addresses, but are 32-bit symbols that have similar values as your memory addresses.

    Regards,
    RandyP

  • RandyP,

    Thanks for the answer.  I see that they are not overlapping with my memory buffer.

    Regards,

    Fawad

  • Hello.

    In my case, the "TRDR" is placed like below.

    008000b8   __TRDR__
    00880010   ti_sysbios_knl_Task_Instance_State_0_hookEnv__A

     

    I have 3 questions.

    1. Is the TRDR occupying memory as about 500KB.

    2. What is role of the TRDR?

    3. How can I reduce the TRDR?

  • Hui-kwon Yang,

    The answer I gave above still applies to your question. These are just symbols whose value may or may not be related to address space. You must look at the allocation of sections higher up in the linker output .map file to see what is actually occupying memory.

    Regards,
    RandyP

  • Dear RandyP

    Thank you for your response.

    In my .map file,

    I think the next section of __TRDR__ is ti_sysbios_knl_Task_Instance_State_0_hookEnv__A

    So, I thought the TRDR is occupying  about 500KB. Am I wrong?

    Thus, what is in between "__TRDR__" and "ti_sysbios_knl_Task_Instance_State_0_hookEnv__A"?

     

    Thanks

     

  • Additionally,

    I attach a part of the map file below.

    -------------------------------------------------------------------

    GLOBAL SYMBOLS: SORTED BY Symbol Address

    .....

    00800058   __ISA__
    00800070   __PLAT__
    00800090   __TARG__
    008000b8   __TRDR__
    00880010   ti_sysbios_knl_Task_Instance_State_0_hookEnv__A
    00880018   ti_sysbios_knl_Task_Instance_State_1_hookEnv__A
    00880020   xdc_runtime_LoggerBuf_Instance_State_0_entryArr__A

    .....

  • Hui-kwon Yang,

    The GLOBAL SYMBOLS section is only a list of symbols. This is not the same as a memory allocation listing. You may want to refer to the Linker section of the Assembly Language Tools User Guide for more information on the linker.map file's contents so you will understand the information displayed there.

    You must look at the SECTION ALLOCATION MAP higher up in the linker output .map file to see what is actually occupying memory. It looks like this:

    SECTION ALLOCATION MAP
    
     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    
    .text      0    c0000000    0000cc80     
                      c0000000    000008c0     ti.targets.rts6000.a674 : System.o674 (.text:_xdc_runtime_System_doPrint__I)
                      c00008c0    00000780     sysbios.a674 : BIOS.obj (.text:_ti_sysbios_family_c64p_Exception_handler__I)
                      c0001040    00000660                  : BIOS.obj (.text:_ti_sysbios_heaps_HeapMem_alloc__E)
                      c00016a0    00000600                  : BIOS.obj (.text:_ti_sysbios_knl_Semaphore_pend__E)
    

    The table above does show memory allocation. The GLOBAL SYMBOLS listing does not show memory allocation. These are only symbols that are used for one reason or another. I do not know what __TRDR__ is used for.

    Regards,
    RandyP