Other Parts Discussed in Thread: SYSBIOS
Hi,
My project is running on TMS320C6654 with sysbios 6.76.02.02, xdctools 3.51.03.28, edma lld 02.11.09.08.
I have an interrupt configured on gpio 18. In the associated sub-routine, I manually start a dma transfer and wait its completion to process transfered data. It's working well but I want to optimize this:
- gpio 18 trigger dma transfer
- gpio 18 continue to generate interrupt which wait end of transfer and process data
On edma configuration, I have replace EDMA3_DRV_DMA_CHANNEL_ANY by EDMA3_DRV_HW_CHANNEL_EVENT_43 in EDMA3_DRV_requestChannel. 43 is the event number for CIC1_OUT0.
after edma configuration completion I execute EDMA3_DRV_enableTransfer with EDMA3_DRV_TRIG_MODE_EVENT
On CIC configuration, I have configured event 19 of CIC1 for GPINT18
CpIntc_mapSysIntToHostInt(1, 19, 0);
CpIntc_enableHostInt(1, 0);
CpIntc_enableSysInt(1, 19);
params.eventId = CpIntc_getEventId(0);
params.arg = 0;
Hwi_create(13, &CpIntc_dispatch, ¶ms, &eb);
I don't have configured CpIntc_dispatch as I just want to trigger transfer. I also don't know if Hwi_create is needed or not in this case.
I have kept my configuration of CIC0 for GPINT8 unchanged, and in the subroutine I call EDMA3_DRV_waitAndClearTcc.
My program is stucked in this wait as no event seems to have occured on edma
What is wrong in my configuration?
I've read lot of e2e threads or TI documentation but did'nt find solution to my issue.
Thanks for your help