I managed to access GPIO
registers according to the datasheet by mmap
ing the peripherals-base-address
provided from "/proc/device-tree/soc/ranges"
and made my own user-space library and just wondering if this is applicable for any other peripheral registers like these from DMA, PWM, TIMER, INTERRUPTS and such. Can I access them the same way as the GPIO registers and create a user-space library to manage these peripherals? ... to do DMA operations, to manage SPI/I2C peripherals, to manage PWM ...
1 Answer
Yes.
For instance my pigpio library.
Also see Minimal GPIO access.
This C code has a minimal set of functions needed to control the GPIO and other Broadcom peripherals. The program requires root privileges to run. See Tiny GPIO access for an alternative which controls the GPIO (but not the other peripherals) and does not require root access.
-
hardware timed PWM on all of GPIO 0-31
... this is what I was trying to do ... on at least 8 GPIOs. Thank you! Jan 22, 2018 at 18:57