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.

咨询TCP3D完成中断无法触发的问题

Other Parts Discussed in Thread: SYSBIOS

您好:
       在安装目录下pdk中TCP3dTestProject修改成所需程序,测试通过。
       然后移植到其他工程(未进行代码修改),没有中断响应,程序没有跑进这三个函数:Void revt1ChCallback(Void)、Void revt1ChCallback(Void)  和  Void tcp3dEventISR(UInt32 testEvtNum)
{
    tcp3dEventCntr++;
    tpccEvtCntr++;
    if ( sendBlockCnt >= codeBlockSet.maxNumCB )
        Semaphore_post(semSendWait);
    else
        Semaphore_post(semSendBlock);
}

以下是前提:
1.移植时没有修改过代码。
2.单步跟如下函数,没有发现问题,eventId正确。
Void registerTcp3dEvent(Void)
{
    static UInt32 cookie = 0;
    Int eventId = 0;    /* GEM event id */
    static UInt32 mapDone = 0;

    /* Disabling the global interrupts */
    cookie = Hwi_disable();
    CpIntc_dispatchPlug(testEvt[instNum], tcp3dEventISR, hostIntr[dspCoreID], TRUE);
    if (!mapDone)
        CpIntc_mapSysIntToHostInt(0, testEvt[instNum], hostIntr[dspCoreID]);
    CpIntc_enableHostInt(0, hostIntr[dspCoreID]);
    eventId = CpIntc_getEventId(hostIntr[dspCoreID]);  //instNum=0;dspcoreID=0;eventID=28
    EventCombiner_dispatchPlug (eventId,
                                CpIntc_dispatch,
                                hostIntr[dspCoreID],
                                TRUE);

    /* enable the 'global' switch */
    CpIntc_enableAllHostInts(0);

    mapDone = 1;

    /* Restore interrupts */
    Hwi_restore(cookie);
}

3.如果不进行中断响应,注掉Semaphore_pend(semSendWait, BIOS_WAIT_FOREVER);  wait一会后直接进行译码结果判断,译码结果是正确的。说明除了无法触发中断,程序译码没有问题。

4.新工程中BIOS添加如下:
/*
 * Pull in modules for EDMA3 LLD use
 */
xdc.useModule('ti.sysbios.family.c64p.Hwi');
xdc.useModule('ti.sysbios.family.c66.tci66xx.CpIntc');
var ECM = xdc.useModule('ti.sysbios.family.c64p.EventCombiner');
ECM.eventGroupHwiNum[0] = 7;
ECM.eventGroupHwiNum[1] = 8;
ECM.eventGroupHwiNum[2] = 9;
ECM.eventGroupHwiNum[3] = 10;

所以咨询专家两个问题:
1.还有没有其他地方我没考虑到,导致没有配置。能帮我分析下吗?
2.Void registerTcp3dEvent(Void)这些配置流程在哪个文档里能找到对应说明?对中断这块不熟,想好好研究研究中断。