Need a working example to understand DMA

if you consider access to /dev/mem as DMA (direct memory access) … i can assist.

DMA is used to read / write memory controlled by another device, usually a processor, but could be a sensor or other device.

DMA take root access for any applications that I can think of (/dev/mem requires root access).

this link points to a project that I have made available as a disk image… it is a working example of DMA. The ‘C’ program running on the ARM processor (linux) writes to memory ‘owned’ by PRU1…

details are in the link.
good luck!
gomer