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.

How to use IPC with EventCombiner in c674x DSP on TI814x Soc

Expert 2030 points

We are currently using IPC, but will need to also use EDMA LLD in the same application. Internally EDMA LDD uses DSP's event combiner module in the cfg file:

ECM.eventGroupHwiNum[0] = 7;
ECM.eventGroupHwiNum[1] = 8;
ECM.eventGroupHwiNum[2] = 9;
ECM.eventGroupHwiNum[3] = 10;

However, keeping the above lines in cfg causes Ipc_start() to fail. if we remove the above, QDMA fails with infinite loop.

[C674X_0] waiting for interrupt...
waiting for interrupt...
waiting for interrupt...
waiting for interrupt...
waiting for interrupt...
waiting for interrupt...
waiting for interrupt...
waiting for interrupt...
waiting for interrupt...
waiting for interrupt...

We need an example cfg that shows how to use IPC and EDMA together in the DSP. In particular something along the line:

EventCombiner .events[X].unmask = true;


I need the info in red, that would configure IPC module interrupts properly to the IPC assigned Hwi directly instead of going through the eventcombiner module.

Thanks

RV

  • The event id associated with the mailbox on the DSP for TI814x is #94.

    I do not think you want to do:  EventCombiner.events[94].unmask = true;

    As this means it will unmask event 94 so it would trigger the event combiner in case event 94 is triggered.

    You want to say:    EventCombiner.events[94].unmask = false;

    This will block the event from coming through the EventCombiner.  You should use ROV to confirm.