May 2020
Intermediate to advanced
496 pages
13h 54m
English
Direct memory access (DMA) can be extremely useful in a variety of situations where high bandwidth or highly event-driven code is desired. DMA controllers are typically able to interact with MCU peripherals, as well as different parts of RAM. They take care of populating peripheral registers and RAM without involving the CPU at all. These autonomous transfers can free up significant CPU time by greatly reducing the interrupt load and context switching.
One thing to keep in mind regarding DMA peripherals is that all channels aren't always mapped to all peripherals. Certain channels can be of a higher bandwidth than others. This is most significant in systems that require multiple high-bandwidth devices. For challenging ...