I’ve seen that many used PRUSS in order to generate the PWM signal needed to drive DC motors…
Given that on the sitara already has there are the controllers that do it in HW, I was wondering if it is feasible to program the PWMSS subsystem of the Sitara, driving it from within the PRUSS implementing here the PID controller, minimizing the intervention of the ARM core on the low level motor control.
Of course you can do this. The base addresses are even hard-coded in
the constant table to make it easier/faster to directly talk to the PWM
hardware with the PRU.
I am still a little confused by the way PRUSS integrates with main core…
Like the DMA controller, the PRUSS operates as a bus controller and
connects to the crosspoint switch fabric that interconnects the various
subsystems on the SoC. Details are provided in the Technical Reference
Manual, section 10 (Interconnects), including charts of which masters
can communicate with which slaves.