# How to use the BeagleBone's PRU with a modern kernel?

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
9.7
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?

• what's a "PRU"? – Marcus Müller Feb 16 '19 at 12:45
• 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 – 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).