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.

TDA3: About Kernel C code compiling and VCOP_HOST_EMULATION setting

Part Number: TDA3

In Eve env,while It seems that ,in source code vcop.h (in path of \ti_components\cg_tools\windows\arp32_1.0.7\include\vcop\vcop.h) ,__vector or __agen are only defined when VCOP_HOST_EMULATION = 1

Is Kernel C Code (introduced in Page42 of ADAS_Superset28_ES1.0_NDA_EVE_Programmers_Guide_vC.pdf)with variable type like __vector or __agen can be compiled as exeutable

(VCOP_HOST_EMULATION = 0) instead of emulatable(VCOP_HOST_EMULATION =1)using XDC command line command (e.g. gmake) environment?

For your reference,

Below is Kernel C Code for 2D block addition from Page 42 of

ADAS_Superset28_ES1.0_NDA_EVE_Programmers_Guide_vC.pdf.

#define ELEMSZ sizeof(*in1_ptr)
#define VECTORSZ (VCOP_SIMD_WIDTH*ELEMSZ)
void eve_array_add_uns_char
(
__vptr_uint8 in1_ptr, // input 1 data pointer
__vptr_uint8 in2_ptr, // input 2 data pointer
__vptr_uint8 optr, // output data pointer
unsigned short width, // width of each line
unsigned short height // height of each line
)
{
__vector Vin1; // input1
__vector Vin2; // input2
__vector Vout; // output
for (int I1 = 0; I1 < height; I1++)
{
for (int I2 = 0; I2 < width/VCOP_SIMD_WIDTH; I2++)
{
__agen Addr;
Addr = I1*width*ELEMSZ + I2*VECTORSZ;
Vin1 = in1_ptr[Addr];
Vin2 = in2_ptr[Addr];
Vout = Vin1 + Vin2;
optr[Addr] = Vout;
}
}
}

thx.