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.

Problem with Engine.cfg !

when I want to run my codec on the DSP,I change the "Local:true" to "Local:false"。but  there is a error says "undefined reference to 'undefined' " ,while linking . what should i do to solve this problem? thanks!

  • What platform are you using (DM644X, DM6467...)?  By default, the software architecture is such that codecs run on DSP (e.g. ARM application calls on DSP side codec server).  If you are following this model, than are you having problems building the codec, the DSP server with your own codec, or the ARM application that uses the codec server? 

    In either case, this is a link error, which means you probably are not specifying all the appropriate libraries.  However, the answer to the question above will tell you where to start looking for the missing library as every step requires linking in appropriate libraries.  The error message you posted does not point to any specific library, so there may even be a build file which is missing a library name and hence the build process is trying to link in a no name (and non-existent) library.

  • Hi Juan,

        I'm curious about "Local: true" in KAKA's question, does it  mean the algorithm will be running on GPP (ARM 926 in DM6446)? If this is true, I don't know why this architecture provides this selection (Local: false or Local: true), 'cos I think the algorithm running on GPP will be slower than on DSP even the simplest one.

    Thanks.

     

  • You are correct that "local: true" implies the algorithm will run locally relative to the application (e.g. on ARM9). 

    One example where this might be useful is if you are running an algorithm, say h.264 video encode, which is taking ~100% of DSP MIPs, but the ARM 9 side is mostly idle; in this case you may want to run a simpler algorithm that the ARM9 can handle locally.  You are correct that DSP may do a better job than ARM with simpler algorithm, but if your DSP is 100% used and you still have some spare capacity on the ARM, this gives you the flexibility to run additional algorithms on ARM.

    Let me know if this helps clear things up.

  • That is to say, in some circumstances, "Local: true" will help to share burden with DSP in order to take full advantage of resources in Davinci.

  • Hi Juan. my platform is DM6446 and the softwae architecture is ARM application calls on DSP side codec server.I wondering why local:true link success,but false not. Is that something would be different when building between true or false attribute? Though local:true,it have a server link problem,too. Maybe you can see the problem more clearer in the follow error message than what i describe the error. Thinks!

    error message for false:

    cl470MV package/cfg/app_debug_x470MV.c ...
    cl470MV engine.c ...
    cl470MV main.c ...
    main.c: In function `main':
    main.c:60: warning: passing arg 2 of `MYCODEC_apply' from incompatible pointer type
    main.c:60: warning: passing arg 3 of `MYCODEC_apply' from incompatible pointer type
    main.c:65: warning: control reaches end of non-void function
    lnk470MV app_debug.x470MV ...
    package/cfg/app_debug_x470MV.o470MV(.data.rel+0xc): undefined reference to `undefined'
    collect2: ld returned 1 exit status
    gmake[1]: *** [app_debug.x470MV] Error 1
    gmake: *** [/mnt/nfs/home/chenweizhi/SourceCode/workshop/mycodectest/app,.executables] Error2

     

    for true:

    port/BIN/DspBios/Davinci/RELEASE/dsplinkmsg.lib
    will link with ti.sdo.ce.osal.alg:lib/alg.a64P
    will link with ti.sdo.ce.trace:lib/gt.a64P
    will link with ti.sdo.ce.node:lib/node_debug.a64P
    asm64P package/cfg/server_debug_x64Pcfg.s62 ...
    cl64P main.c ...
    cl64P package/cfg/server_debug_x64P.c ...
    cl64P package/cfg/server_debug_x64Pcfg_c.c ...
    lnk64P server_debug.x64P ...
    undefined                        first referenced
     symbol                              in file
    ---------                        ----------------
    _undefined                       package/cfg/server_debug_x64P.o64P
    >>   error: symbol referencing errors - 'server_debug.x64P' not built
    gmake[1]: *** [server_debug.x64P] Error 1
    gmake: *** [/mnt/nfs/home/chenweizhi/SourceCode/workshop/testcodec/server,.executables] Error 2

  • the problem had been solved. I forgot to override the stub and the skel .for "local:false",ARm is no need to send parameters to the DSP side, so it can link   success. oppositely,"local true" fail. think you guys all the same!