Hello,
I’m a beginner learning about PRU with a couple of questions. I’ve been using as reference:
- PRU Cookbook (thank you Mark)
- Exploring BeagleBone by Derek Molloy
- TI Examples & Labs https://processors.wiki.ti.com/index.php/PRU_Training:_Hands-on_Labs
Questions:
-
- Default firmware for PRU0/1:
root@beaglebone:~# cat /sys/class/remoteproc/remoteproc*/firmware
am335x-pm-firmware.elf
am335x-pru0-fw
am335x-pru1-fw
root@beaglebone:~# find / -name am335x-pru?-fw
/lib/firmware/am335x-pru0-fw
/lib/firmware/am335x-pru1-fw
What do these programs do? I haven’t found any source code to explain what is inside. I think the files come from TI (compiled form), but what happens if I
echo start > state for the default firmware? Seems strange to have this as the default with no clues about what is inside.
- What is the source for the __R30 pin configurations (default?. Fresh boot =>
root@beaglebone:~# cat /sys/kernel/debug/remoteproc/remoteproc1/regs | grep "GPREG30 "
GPREG30 := 0xd233c9c3 CT_REG30 := 0x40000000
I’ve looked in:
U-Boot, am335x-boneblack-uboot, cape_universal, AM335X-PRU-RPROC-4-14-TI-00A0 and googled around but can’t find anything that looks like it sets __R30 at boot.
With a LED connected to P9-27, P9-28, P9-29:
config-pin P9-27 pruout => LED is low
config-pin P9-28 pruout => LED is high
config-pin P9-28 pruout => LED is high
For me, it seems strange that some pins would be high by “default”. What is setting these values as high???
Many thanks in advance for any clues.