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