I am trying to implement a basic LED blinking program on the PRU. Up till now what I found are guidelines for old kernel versions (old in the sense 3.8 to 4.4 kernel version).

Details of my BeagleBone Green:

cat /etc/dogtag
BeagleBoard.org Debian Image 2018-10-07
cat /etc/debian_version
uname -a
Linux beaglebone 4.14.71-ti-r80 #1 SMP PREEMPT Fri Oct 5 23:50:11 UTC 2018 armv7l GNU/Linux

I have enabled remoteproc by editing the uEnv.txt.
I was following PRU hands-on labs by TI.
In one of the Reference by TI they have mentioned "PRU firmware binaries exist in the filesystem in the /lib/firmware/ directory." In /lib/firmware I am expected to see am335x-pru0-fw but it is not there.
Does it have any other method to enable or what I am missing here?

  • \$\begingroup\$ what's a "PRU"? \$\endgroup\$ – Marcus Müller Feb 16 '19 at 12:45
  • 2
    \$\begingroup\$ Programmable Real-Time Unit Subsystem and Industrial Communication Subsystem (PRUICSS) Within the BeagleBone’s AM335x,there are two on‐board microcontrollers, called Programmable Real‐time Units (PRUs), which can be programmed for real‐time interfacing applications. for details you can refer link \$\endgroup\$ – tinkerr_ Feb 18 '19 at 4:44

The /lib/firmware/ is simply where you place the binaries that you compile for the PRU. Your PRU code will end up here so that it can be loaded by the PRU kernel module.

Old versions of the TI rproc driver require the name to be am335x-pru0-fw, however in more recent version this requirement has been relaxed (although it's still convention).

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.