器件型号:TDA3
在 EVE env 中,虽然在源代码 vcop.h 中(在\ti_components\cG_tools\windows\arp32_1.0.7\include\vcop\vcop.h 的路径中),__vector 或__agen 仅在 VCOP_HOST_emulation = 1时定义
是内核 C 代码(在 ADAS_Superset28_ES1.0_NDA_EVE_Programrs_Guide_vc.pdf 的第42页中引入)、其变量类型如_vector 或_agen 可编译为可扩展
(VCOP_HOST_EMUTITION = 0)而不是使用 XDC 命令行命令(例如 gmake)环境进行仿真(VCOP_HOST_EMUTION = 1)?
为供您参考、
下面是第42页中用于添加2D 块的内核 C 代码
ADAS_Superset28_ES1.0_NDA_EVE_Programrs_Guide_VC.pdf。
#define ELEMSZ sizeof (* in1_ptr)
#define VECTORSZ (VCOP_SIMD 宽度* ELEMSZ)
void eve_array_add_uns_char
(
__vptr_uint8 in1_ptr,//输入1数据指针
__vptr_uint8 in2_ptr,//输入2数据指针
__vptr_uint8 optr,//输出数据指针
无符号短宽度、//每行的宽度
每条线的无符号短高度//高度
)
{
__vector Vin1;// input1
__vector Vin2;// input2
__vector Vout;//输出
对于(int I1 = 0;I1 <高度;I1++)
{
对于(int I2 = 0;I2 <宽度/VCOP_SIMD 宽度;I2++)
{
_agen 地址;
地址= I1*width*ELEMSZ +I2*VECTORSZ;
Vin1 = in1_PTR[Addr];
Vin2 = IN2_PTR[Addr];
VOUT = Vin1 + Vin2;
OPTR[Addr]= Vout;
}
}
}
Thx。