While trying to familiarize myself with a BF527 EZ-KIT board i wrote a simple (at least i thought it would be) code, which performs SPORT RX DMA transfers from the codec to the internal memory in the single buffer (stop) mode.
After configuring SPORT in receive mode
and setting up IVG9 and IVG12 handlers i invoke IVG12 interrupt by pressing PB1 button and set up the DMA channel like this
And finally i enable SPORT0 operation in receive mode and wait for the DMA completion interrupt.
But after the first 32-bit word is written into memory the DMA controller asserts DMA_ERR and aborts operation.
Can you explain what is wrong with my algorithm. I have read the part of the HRM that explains DMA errors but still it is unclear what am i doing wrong.