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.

Problem with DMA ISR and GPT ISR on C5505 usb stick

Hello all,

I am facing some problems while programming with DMA and GPT on the C5505 USB stick.

I am using the DMA to copy samples to and from AIC3204 over I2S. DMA ISR is used to manage the ping-pong buffering. The program just tries to read samples from input and then paly them back on the line out. This is working fine as a standalone program.

I am also trying to run a GPT (Timer0) with the above module which will give me periodic interrupts (I need a counter for time sync with some other hardware). The ISR for this GPT just increments a reference counter. I have observed a problem when I try to run the GPT code with the above DMA code.

The program runs well for a very short time (close to 1 sec), but after that one of the two ( DMA or GPT) stop responding. If the DMA is still running, the reference counter (GPT ISR) stops incrementing and if the GPT counter is going right, the DMA stops working. I figure this is some problem with conflict in the ISR of DMA and GPT. I have tried debugging by checking the values of the interrupt registers(IER0), and the interrupts are still enabled.

What is causing the interrupts to stop responding? Am I missing something in the configuration?

Any pointers would be very helpful.

Thanks,

Ramesh