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.

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时,这个没有变)