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.

TDA4VM: undefined reference to __se_open()

Part Number: TDA4VM

Hi Experts,

Good day! I need your assistance regarding the customer's inquiry below. Here are the full details below.

I have written a code of the sum of the elements of array elements using the streaming engine. I am trying to build the code on host emulation. 

I am using the cgt 3.0.0 for c7000 compiler

I build the code using 

g++ -c --std=c++14 -fno-strict-aliasing -O3 -I <install/path>/ti-cgt-c7000_3.0.0.STS/host_emulation/include/C7100 main.c fir_1d_se_cn.c fir_1d_se.c -L <install/path>/ti-cgt-c7000_3.0.0.STS/host_emulation/libC7100-host-emulation.a -lC7100-host-emulation

I got the .o files 

then I used g++ -o new_executable <its related .o files>

then I got some errors like 

 

Please help me to guide on to what might be the cause of this. 

 

#include "addition_se.h"
#include <c7x.h>
void addition_se(int16_t *pInA, int16_t *pInB, int16_t *pOutC, int32_t arraySize)
{
    int32_t ctr;
    /*
    for(ctr = 0; ctr < arraySize; ctr+=32)
    {

        short32 vInA = *stov_ptr(short32, (int16_t *)(pInA + ctr));         //Read a vector of 32-16b elements from scalar input array pInA
    
        short32 vInB = *stov_ptr(short32, (int16_t *)(pInB + ctr));         //Read a vector of 32-16b elements from scalar input array pInB

        short32 vOutC = vInA + vInB;                                        //Add 32 elements of two vectors(vInA,vInB) of size 16b in parrallel
    
        *stov_ptr(short32, (int16_t *)(pOutC + ctr)) = vOutC;               //Store 32-16b elements of vector vOutC to scalar output array pInC
    }
 */
 
 __SE_TEMPLATE_v1 params = __gen_SE_TEMPLATE_v1();
 
 
 params.DIMFMT = __SE_DIMFMT_2D;
 params.ELETYPE = __SE_ELETYPE_16BIT;
 params.VECLEN  = __SE_VECLEN_32ELEMS;
 
 params.ICNT0 = arraySize;
 params.ICNT1 = 1; params. DIM1 = 0;
 
 __SE1_OPEN((const void*)pInA, params);
 short32 vOutC = short32(0);
 for (ctr = 0; ctr < arraySize; ctr+=32)
 {
   short32 vInA  = __SE1ADV(short32);
   //short32 vInB  =  1;
      vOutC +=  vInA ;
   
   //Display vector
         printf("vOutC[%d] = ", ctr);
         vOutC.print();
 }
 
 __SE1_CLOSE();
}

 

this is the code I have written

Thank you in advance for your support.
Best regards,
Jonathan