Hi Jason-

I just tried it out with the PRU PID Motor controller example I have 
running here.
Regarding this command:

echo 1 > /sys/kernel/debug/remoteproc/remoteproc2/single_step

Does this halt the PRU1 core only?

I am looking for a complete shutdown of the PRU.  Go to sleep including 
peripherals.

I think what I am seeing is that the PRU core halts, but the PRU peripheral 
keeps going.
The PRU PID example uses the PWM on the PRU.
So even after issuing the above command, the PWM keeps on going!
However, I can tell the core is shut down because it no longer responds to 
commands to change the PID setpoint.
Then after echo 0 > single_step it starts responding to commands again. 
 But the PWM never shut down.

I can of course change the setpoint to zero before halting the core.
I guess what I am looking for is the cleanest method of putting the core to 
sleep and reducing power consumption.
Also I am thinking about how to to an emergency shutdown of a mechanical 
device.
I'm new to embedded systems design.  I think this is a reasonable 
requirement for the system?
Just not sure the best way to do this or status of current thinking in 
embedded systems design.

On Wednesday, December 21, 2016 at 10:04:25 AM UTC-5, Jason Reeder wrote:
>
> Greg,
>
> Suman added a simple debug interface for remoteproc at 
> '/sys/kernel/debug/remoteproc/'.
>
> On the BBB (AM335x) there are three devices available at that folder: 
> remoteproc0 (the wakeup M3 core), remoteproc1 (PRU0), and remoteproc2 
> (PRU1). You can verify which is which by the 'name' file in each folder:
> cat /sys/kernel/debug/remoteproc/remoteproc1/name
>
> You can dump some control registers (CTRL, Program Counter, etc.) while 
> the PRU is running by reading the 'regs' file:
> cat /sys/kernel/debug/remoteproc/remoteproc1/regs
>
> To halt a PRU, write a 1 to the single_step file. This will halt the PRU 
> and allow you to dump the full register set:
> echo 1 > /sys/kernel/debug/remoteproc/remoteproc1/single_step
> cat /sys/kernel/debug/remoteproc/remoteproc1/regs
>
> You can continue single stepping through code and dumping the registers by 
> repeating the two lines above.
>
> To run the PRU core again just write a 0 to the single_step file:
> echo 0 > /sys/kernel/debug/remoteproc/remoteproc1/single_step
>
> Jason Reeder
>
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/c268678a-bc4b-4234-8634-aecd36687b62%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to