PRU Beginner Questions (2)

76 views
Skip to first unread message

V37E00E

unread,
May 10, 2020, 4:09:10 AM5/10/20
to BeagleBoard

Hello,


I’m a beginner learning about PRU with a couple of questions.  I’ve been using as reference:

Questions:

1.       1.  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.

 

2.       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.

Jason Kridner

unread,
May 10, 2020, 7:13:15 AM5/10/20
to beagl...@googlegroups.com


On May 10, 2020, at 4:09 AM, V37E00E <v37...@gmail.com> wrote:



Hello,


I’m a beginner learning about PRU with a couple of questions.  I’ve been using as reference:

Questions:

1.       1.  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.


There’s no defacto pru firmware. Robert and I discussed loading a firmware image that puts the processor in a hold loop just to have something in there by default. I imagine that is what this is. 

 

2.       What is the source for the __R30 pin configurations (default?.  Fresh boot =>


Check https://github.com/beagleboard/customizations. This is where Robert and I discussed putting it. 

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.


There was nothing done to my knowledge to make these known or specific. I suggest you provide a firmware load if you want them to be specific. 

Patches welcome. 

There are some thoughts to load the PRUs with a small REPL through rpmsg for quick hacking. 

--
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 beagleboard...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/3f51b584-e0bc-4474-9710-5a96f53d5177%40googlegroups.com.

V37E00E

unread,
May 10, 2020, 9:25:55 AM5/10/20
to beagl...@googlegroups.com
Many thanks for your reply and a friendly hat tip for all your efforts with Beaglebone.org - it is appreciated!

I was thinking that maybe GPREG30 := 0xd233c9c3 represents some debugging info but couldn't figure out what was setting it.  

for the default PRU firmware => yes it makes sense to have some basic REPL using rpmsg for hacking / validation PRU_RPMsg_Echo_Interrupt0 / PRU_RPMsg_Echo_Interrupt1 might be a candidate. ???

I'm not up to Git just yet so I'm not much help.

Once again thank you kindly for your reply and work.

Reply all
Reply to author
Forward
0 new messages