I just finished my EMX board and played a little with it. Everything seems fine but there is one problem. EMX is struggling to stream 320kbps MP3’s to the VS1053 audio decoder (from SD card). This is a problem, since I want it to be able to play @ 1600 kbps FLACs. I was thinking of using the DMA controller to stream the data from memory to VS1053 via SPI in RLP. Basically, the app would read blocks of data in memory, trigger DMA to start streaming them while it reads some next blocks, etc.

The question is: is the DMA controller used by .NET mf (NOTE: I use SD/USB/Ethernet/LCD)? If yes, is there a free DMA channel that I could use or both of them are in use?


DMA is used on USB which is not related to general purpose USB.

Both DMA channels are used? So there is no way of using DMA while using USB.
Well, this means I will have to get it working with interrupts.