first steps with BBG

Hello @ all,

I am trying my first steps with the PRUss on the BBG, but nothing I read here, will work.
Step by step:

  1. I downloaded this image:
    and installed it on sd-card
  2. run update, upgrade and dist-upgrade. So my kernel is
  3. cd /opt/source/dtb-4.4-ti && git-pull

Before, During and After this steps I tried to run the loader blink example:
For this I compiled the loader, the blinker and the devicetree.
But the loader always reports

prussdrv_open() failed

capemanager tells me, that univ-emmc is loaded. I recompiled it, without acces to pru0,pru1,pruss,P8.11 and P8.16.
I then compiled the devicetree of above example and after reboot I didn’t had any problems loading it.
Also I deactivated the universal cape in /boot/uEnv.txt to be sure univ-emmc doesn’t make any problems.

I also compiled the PRU-blinker-program of TIs Hands-on-Lab. Placed them on the board, linked them with /lib/firmware/am335x-pru0-fw
and run modprobe pru_rproc / rmmod pru_rproc
In lsmod, I can see, if I run modprobe the driver is loaded and after rmmod the driver isn’t loaded.
dmesg doesn’t tell me anything.

What am I doing wrong? Can somebody help? Would be a great thing, else I will give up on this device. It took me too long, until I found this forum

Hi Fabian-

The image does not have a PRU driver activated. You have to make a very small change to the Device Tree in order to activate a driver.

There are two choices:


So the link you included discusses the UIO, and the TI examples will need RemoteProc.
There are trade-offs with either approach. I am not familiar with UIO, but I have done some experiments with RemoteProc.

Check out this project at

Follow the link to the Github project, and then get the PDF file pru-pid.pdf which is included in the doc directory.
See Chapter 9 for a step-by-step process to enable the RemoteProc driver.
The process for enabling UIO should be similar.
Be sure to be in root mode (sudo su) when you are editing the files.
After you successfully get your driver system running, you should be able to get either UIO or Remoteproc examples working.