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.

TDU linking error.

Other Parts Discussed in Thread: OMAPL138

Hi,

I am working on a DSP application that does tone generation and detection using the TGE and TDU components of VOLIB.

I am able to successfully do the tone generation, however, when i try to use the TDU component, i get the following errors while linking. I have already included the libs tdu_c.ae64P and tdu_a.ae64P besides the utils libs, to be linked.

 undefined          first referenced                                                                                     
  symbol                in file                                                                                          
 ---------          ----------------                                                                                     
 __c6xabi_call_stub /root/Desktop/syslink_2_21_01_05/examples/elcom_syslink/dsp/ti/mas/tdu/lib/tdu_c.ae64P<tdu.oe64P>    
 __c6xabi_divi      /root/Desktop/syslink_2_21_01_05/examples/elcom_syslink/dsp/ti/mas/tdu/lib/tdu_c.ae64P<tdu_v21.oe64P>
 __c6xabi_pop_rts   /root/Desktop/syslink_2_21_01_05/examples/elcom_syslink/dsp/ti/mas/tdu/lib/tdu_c.ae64P<tdu.oe64P>    
 __c6xabi_push_rts  /root/Desktop/syslink_2_21_01_05/examples/elcom_syslink/dsp/ti/mas/tdu/lib/tdu_c.ae64P<tdu.oe64P>    

I am using the following:

device is OMAPL138,

bios_6_34_02_18,

xdctools_3_24_05_48,

ipc_1_25_00_04,

VOLIB 2_0_0_3.

loader used is ELF.

Could anybody please tell me what needs to be done in order to overcome this problem?

Thanks & regards

Pankaj.

  • Pankaj,

    So you are using little endian ELF.

    First make sure you have all the libraries linked:

    Libraries

    The following libraries must be included in the final link:

    1. ti\mas\util\c<starg>\util_a.a<starg>
    2. ti\mas\util\c<starg>\util_c.a<starg>
    3. ti\mas\tdu\c<starg>\tdu_a.a<starg>
    4. ti\mas\tdu\c<starg>\tdu_c.a<starg>

    The libraries would be *.ae64p

    If this doesn't help, there must be some compiler/linker options missed in your makefile. Then, try to see if you can build the TDU test application and check the option difference. Check the following link if it helps.

    http://e2e.ti.com/support/embedded/bios/f/355/t/254424.aspx

    Regards, Eric

     

  • Thanks Eric,

    That link really helped..the problem was that i was not using the --reread_libs -x option in my makefile.

    However, after that i am getting the following warnings :

    warning: Section ".initProg:tdu_c.ae64P<tdu.oe64P>" has calls to rts routines,
       but rts is placed out of range from call site at 0x117040a8, or in a
       different section. To optimize codesize, either 1) place rts closer to call
       site, or 2) place rts in same section, or 3) compile with
       --disable_push_pop.


    warning: Section ".initProg:tdu_c.ae64P<tdu.oe64P>" has calls to rts routines,
       but rts is placed out of range from call site at 0x11703fc0, or in a
       different section. To optimize codesize, either 1) place rts closer to call
       site, or 2) place rts in same section, or 3) compile with
       --disable_push_pop.

    warning: Section ".tdm2pktpkt2tdmProg:tdu_c.ae64P<tdu.oe64P>" has calls to rts
       routines, but rts is placed out of range from call site at 0x11704308, or in
       a different section. To optimize codesize, either 1) place rts closer to
       call site, or 2) place rts in same section, or 3) compile with
       --disable_push_pop.

    warning: Section ".tdm2pktpkt2tdmProg:tdu_c.ae64P<tdu.oe64P>" has calls to rts
       routines, but rts is placed out of range from call site at 0x11704200, or in
       a different section. To optimize codesize, either 1) place rts closer to
       call site, or 2) place rts in same section, or 3) compile with
       --disable_push_pop.


    How can i get rid of these warnings?? In what way, these affect the performance of my application, if any??

    Thanks & regards

    Pankaj

  • Pankaj,

    Do you have "mem_model:data=far" in build options?

    Regards, Eric