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:关于内核 C 代码编译和 VCOP_HOST_EMUulation 设置

Guru**** 2589280 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/639889/tda3-about-kernel-c-code-compiling-and-vcop_host_emulation-setting

器件型号: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。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的乔治:

    我已将您的问题转交给 EVE 专家。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的乔治:

      内核 C 文件可编译 为可执行文件、可在主机 PC 上运行(使用主机仿真模式)、也可编译为使用 gmake 在 EVE (VCOP)上运行。 如果要构建可执行文件以在主机仿真上运行、则必须定义 VCOP_HOST_EMUulation 宏并构建任何标准的 g++编译器。 如果要在目标(TDAxx)上运行它、则必须使用 ARP32编译器来构建它。

    此致、

    安州  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的乔治:

    编译器使用文件扩展名来确定文件类型。

    您是否保存了扩展名为*。k 的源文件?

    谢谢、Rgerads、

    Kumar.D