TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320C6657: 如何让SRIO在核心1上收到doorbell?

Part Number:TMS320C6657

您好,

       SRIO在核心0上功能正常,能够收到doorbell,现在由于项目要求,需要将doorbell调整到核心1上响应,根据数据手册对代码进行了修改,但核心1仍然收不到doorbell,不知道什么原因,请帮忙指点一下。谢谢

修改如下:

1.SRIO初始化时,根据数据手册将中断指向INTDST17
CSL_SRIO_DisableInterruptPacing (hSrio, 1);   
CSL_SRIO_SetDoorbellRoute(hSrio, 0);
for(i = 0; i < 16; i++)
   CSL_SRIO_RouteDoorbellInterrupts(hSrio, 0, i, 1);

2.注册中断响应函数时,修改成了CSL_GEM_INTDST_N_PLUS_16(不清楚这样做对不对,没看到具体的文档说明)

CpIntc_dispatchPlug(CSL_GEM_INTDST_N_PLUS_16, (CpIntc_FuncPtr)srio_db_isr, NULL, TRUE);
CpIntc_mapSysIntToHostInt(0, CSL_GEM_INTDST_N_PLUS_16, 8);
CpIntc_enableHostInt(0, 8);
CpIntc_enableSysInt(0, CSL_GEM_INTDST_N_PLUS_16);
Error_init(&eb);
event_id = CpIntc_getEventId(8);
Hwi_Params_init(&hwiParams);
hwiParams.arg = 8;
hwiParams.eventId = event_id;
hwiParams.enableInt = TRUE;
Hwi_create(6, &CpIntc_dispatch, &hwiParams, &eb);

3.FPGA端发送的doorbell_info为:0 和 1(核心0和核心1时,这个没有变)

Shine:

请参考processor SDK里的多核例程。C:\ti\C6678 SDK 5.03\pdk_c667x_2_0_13\packages\ti\drv\srio\example\SRIOMulticoreLoopback

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6657: 如何让SRIO在核心1上收到doorbell?
分享到: 更多 (0)