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.

AM335x: Problem with EDMA Transfer for McASP - Transfer complete Interrupt no longer enabled

We use the McASP-bus to communicate between the AM335x and a DSP-board. We use one McASP module for TX (AM335 -> DSP) and the second McASP-module for RX (DSP -> AM335x). For data Transfer we use the help from the EDMA-Controller. On the AM335x board is running Windows Embedded Compact 2013 with a BSP from Adeneo.The McASP-Driver uses the EDMA-Driver Interface to start the data Transfer and enabes therefore the Transfer finished Interrupt in the OPT-field from the transfer. In the McASP-Driver we use a timeout to check, if the DMA-Transfer has finished in a fair time and wait then for the Transfer finished Interrupt.

When I now do a communication test with the two boards (both boards sends and receives some small data packages every 20ms), this runs for a while but at some Point of time I get timeouts for the TX-Transfer. This means the EDMA-Transfer complete Interrupt did no longer occur. The McASP-Driver uses always the same sequence to enable and start of the EDMA-Transfer. So the transfer-finish-Interrupt should always be used.

When I get once in this error Situation, then I can only do a reset to the AM335X to get the TX-path back running.

Here some AM335X-Register values, when the TX-Transfer works fine and the Interrupt is fired:

CCCFG 0x03224445
IER=0x030C03C0 IERH=0x00003000
IPR=0x00000000 IPRH=0x00000000
shadow IER=0x030C03C0 IERH=0x00003000
shadow IPR=0x00000000 IPRH=0x00000000

Here you can see in the IER-Register (interrupt enable Register from the EDMA-controller) a 3C0. Hope I am right, but I think this means here, that the Transfer complete Interrupt for the McASP-DMA-TX is enabled. Then here now the same Registers, when the error occurs:

CCCFG 0x03224445
IER=0x030C02C0 IERH=0x00003000
IPR=0x00000300 IPRH=0x00000000
shadow IER=0x030C02C0 IERH=0x00003000
shadow IPR=0x00000200 IPRH=0x00000000

Here you see the IER-Register with 2C0. I think this now means, the Transfer complete Interrupt for the McASP-TX is not enabled. But how can this happen, when I start the EDMA Transfer always with a OPT-field where the Transfer complete Interrupt is enabled? And why can I only get the TX-path back to work with a reset from the AM335x?

Hope you can understand my Problem and you can perhaps give me some hints how I can closer to the solution from my Problem.

Tx in advance.

Markus