Has anyone written any good tutorials, guides or books for DMA on any of the supported Arduino hardware platforms?
I'm aware that DMA implementation is usually processor specific, so any code or explanation is going to be tied to one platform. The Uno doesn't have a DMA controller, but the Zero and Due do.
A sample of working programs for the Zero can be found below, but there is no explanation as to how the author figured out which registers to write to, and how the values were calculated.
DMA doesn't appear to be part of the Wire language, perhaps because of hardware dependencies and as such anyone wanting to use it needs to understand what goes on 'under the covers' of the language. It's a big topic. I'm not expecting an explanation in this thread. I just wondered if someone had written a good guide (with explanation) for any of the supported Arduino platforms.