Usage of DMA

Hi everyone!

I’m new to RIOT OS, and I’m trying to use it instead of Arduino on Arduino Due board. I briefly examined sources and found that it’s SPI implementation doesn’t use DMA for transfers though MCU supports it. Also I found that it is not the issue of the board or the platform, though a general lack of paradigm in RIOT OS. Is there any good reason for it?

Hi Maksim,

DMA is simply not implemented for the sam3, mostly to the lack of manpower. This is simply an implementation issue - the periph_spi interface is actually designed in a way, to be agnostic to an implementation using DMA or not...

So if this is something you care about, it would be highly appreciated if you would add DMA support to the sam3's SPI driver :slight_smile:

Cheers, Hauke

Hi Hauke!

Ok. I’ll try to implement it for sam3. Should I do some kind of abstraction layer for DMA with API, or is it ok for raw registers access to DMA unit from SPI code?

пт, 18 янв. 2019 г. в 10:46, Hauke Petersen <>: