各位专家:
我将最新的 CTool 库与我的定制 keystone2板一起使用,以获取 AET 中断上的 ETB 数据。 我正在使用的相关库是 aetlib.l66_elf、dsptrace.c66xx_elf.lib 和 tietb.c66ak2hxx_c66xx_elf.lib。
我的问题是、当 DSP 内核进入由程序范围事件引起的中断时、我无法获得正确的 ETB 数据!
以下是我用于两个 AET 作业的 ETB 初始化代码:
TriggerConditionParams = AET_JOBPARAMS;
TriggerConditionParams.programRangeStartAddress =(uint32_t) JIP_ETB_TRIGGER_START_ADDR;
TriggerConditionParams.programRangeEndAddress =(uint32_t) JIP_ETB_TRIGGER_END_ADDR;
触发条件 Params.triggerType = AET_TRIG_Aint; //AET_TRIG_HALT_CPU
/* AET 开始跟踪条件*/
StartTraceParams.programAddress =(uint32_t)&StartTraceTM;
StartTracepParams.traceTriggers = AET_TRACE_时序| AET_TRACE_PA;
StartTracepParams.traceActive = AET_TRACE_ACTIVE;
当 PC 指针按预期进入特定范围时、AET 触发了交叉输入。 但是、ETB 数据读取仅为20个字、远小于预期的1024个字。 我假设 StartTraceTM 功能并不真正激活 ETB 跟踪。 TDF 文件 生成的文件证明了这一点-根本没有有用的信息。
对此有什么建议? 附加文件包含更多详细信息。
e2e.ti.com/.../etb_5F00_tigger.c
谢谢。