Hi All,
I wrote a small application based on the aic3204 sample by Spectrum. I tried to add DMA functionality, like in the USB_Stick_AudioFilter example from TI. Therefore, I configured DMA0 channel 0 to transfer data to the I2S0 Tx buffer and DMA0 channel 2 to transfer data from the I2S0 Rx buffer to another location, by using ping-pong buffering just very similar as in the AudioFilter example. (codec --> I2S0 --> DMA --> main program --> DMA --> I2S0 --> codec)
What happens now is that the DMA transfer never seems to end (the EN and STATUS bits in DMACH2TCR2 stay always '1'), and I don't get a DMA interrupt. The DMA_Isr is never executed. The DMA interrupt flag in IER0 and the channel flags are set, and the ISR is referenced in my interrupt_vectors.asm.
I then tried to activate the periodical RTC interrupt each secont, but here I've also got the problem that the interrupt never occurs. There seems to be a general problem with the interrupts.
I initialized the DMA carefully according to the procedure described in SPRUFO9 and checked with the AudioFilter example. Can't find an error. Does anybody have a suggestion? Could this be related to compiler/project settings, as I am coming from the Spectrum Digital-example?
By the way, a simple I2S0 audio loopback without interrupts works, so the I2S0 is not the problem.
Thanks and regards,
Raphael