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.

Compiler/STARTERWARE-C6DSP: problems about dsp linker.cmd when building eve-dsp mailbox communication

Part Number: STARTERWARE-C6DSP

Tool/software: TI C/C++ Compiler

hi,all:

i met several problem concerned with DSP linker.cmd when building eve-dsp mailbox communication.

my dsp compiler is ti-cgt-c6000_8.3.6.

 

 linker.cmd file is shown as follows:

SECTIONS
{
GROUP
{
.vects: {. = align(8);}
.l2_int: {. = align(8);}
.switch: {. = align(8);} 
.const: {. += 0x100;} 
.text: {. = align(4);} 
.int_code: {. = align(4);} 
.lib_code: {. = align(4);} 
.sysinit: {. = align(4);} 
.syssaram: {. = align(4);} 
.cinit: {. = align(4);}
.pinit: {. = align(4);}
.data16: {. = align(2);}
.data: {. = align(2);} 
.bss: {. = align(8);} 
.far: {. = align(8);} 
.sysmem: {. = align(16);}
gem_l2ram_usr_init: {. = align(8);}
gem_l2ram_usr_uninit: {. = align(8);}
.stack: {. = align(8);}/*栈区*/
.sysstack: {. = align(8);}
.cio: {. = align(8);}
} > L2RAM

SectionSync: load = SYNC_AREA
GEM1L2_data: > L2DATA
}

The problem are shoown as follows:

1、warning: Symbol "__STACK_SIZE" is a COFFABI symbol deprecated in EABI; use EABI
symbol "__TI_STACK_SIZE" instead. For additional information


2、warning: Symbol "$bss" is a COFFABI symbol deprecated in EABI; use EABI symbol
"__TI_STATIC_BASE" instead.

3、warning: "GROUP_1" contains both ".cinit" and ".far"; compression "rle" can not
be performed for ".far"

4、warning: output section ".fardata" refers to load symbol "_sys_memory" and
hence cannot be compressed; compression "rle" is ignored

5、fatal error: illegal attempt to place ".cinit" before ".far" in "GROUP_1"

i Understand the first two warnings, but  i really do not understand waring 3 and 4 (.cinit" and ".far can not be put together? rle can not compress .fardata?), and error 5 confuse me. 

how to solve these problems?

thanks

hailiang

  • I am not familiar with StarterWare.  However, I am aware it is no longer supported.  Use the Processor SDK instead.  For now, I presume you have reason to continue with StarterWare.

    Is this linker command file from StarterWare?  A GROUP with nearly every output section in it is unusual.

    Regarding ...

    user6263818 said:

    3、warning: "GROUP_1" contains both ".cinit" and ".far"; compression "rle" can not
    be performed for ".far"

    4、warning: output section ".fardata" refers to load symbol "_sys_memory" and
    hence cannot be compressed; compression "rle" is ignored

    If you are meeting your constraint for the amount of memory used, you can ignore these diagnostics.  Because of the problems mentioned, the sections .cinit and .fardata cannot be compressed when linking, then decompressed during system startup.  So, you are using more memory than is optimal.

    Regarding ...

    user6263818 said:
    fatal error: illegal attempt to place ".cinit" before ".far" in "GROUP_1"

    The best answer is to move .cinit outside the GROUP entirely.  If that cannot be done, then make it the last output section in the GROUP.

    Full background on this situation is available in this long thread.

    Thanks and regards,

    -George

  • hi, George:

    i am using Ti processor sdk 3.8 under windows.

    I have tried to move .cinit outside the GROUP entirely or  make it the last output section in the GROUP, however both two methods didn't work. 

    the error is 

    undefined first referenced
    symbol in file
    --------- ----------------
    TSC_enable ../objs/eden_mailbox_eve1_to_gem1_gem1.obj
    TSC_read ../objs/eden_mailbox_eve1_to_gem1_gem1.obj
    __ISR_Table ../objs/intvecs.obj

    i think it the initial part .cinit must be put forward ?

    I have a question here that  is: i completely use the official original code of TI sdk , why there exists errors ? 

    thanks

    hailiang

  • It doesn't make sense that moving the .cinit section causes ...

    user6263818 said:
    undefined first referenced
    symbol in file
    --------- ----------------
    TSC_enable ../objs/eden_mailbox_eve1_to_gem1_gem1.obj
    TSC_read ../objs/eden_mailbox_eve1_to_gem1_gem1.obj
    __ISR_Table ../objs/intvecs.obj

    I suggest you try to fix the problem a different way.  Change the linker command file back to how it is at the start of this thread.  Then add the linker option --cinit_compression=off.  That disables the compression related to the .cinit section.  I can't test this suggestion, so I cannot guarantee it works.  But I think it is worth a try.

    user6263818 said:
    i completely use the official original code of TI sdk , why there exists errors ? 

    It is likely that the StarterWare kit was tested with a particular version of the compiler, CCS, and other software packages.  Consult the documentation, and consider using the same version of those tools and packages.

    Thanks and regards,

    -George

  • hi, George

    You are great and excellent!

    I changed the version of the dsp compiler to  c6000_7.4.24 which is used by offcial starterware. It is all ok!

    I shoudn't use version 8.3.6

    By the way , in the starterware eve-dsp communication example folder, dsp.out and eve.out were generated .

    Do u know how to use them onTda2xx board or do u know some datasheets that describes this?

    Appreciate your help!

    Thanks

    hailiang

  • user6263818 said:
    Do u know how to use them onTda2xx board or do u know some datasheets that describes this?

    Unfortunately, no.  Please start a new thread in the Processors Forum.

    Thanks and regards,

    -George