A BeagleBone Blue Setup Guide

I have taken the BLUE out of the “old project” box and here are my configs

/boot/uEnv.txt

uname_r=4.19.27-bone-rt-r27
dtb=am335x-boneblue.dtb
###U-Boot Overlays###
enable_uboot_overlays=1
###Custom Cape
dtb_overlay=/lib/firmware/BB-I2C1-00A0.dtbo
###PRUSS OPTIONS
uboot_overlay_pru=/lib/firmware/AM335X-PRU-UIO-00A0.dtbo
###Cape Universal Enable
enable_uboot_cape_universal=1
cmdline=coherent_pool=1M net.ifnames=0 quiet

debian@beaglebone:~$ lsmod | grep uio
uio_pruss 16384 0
uio_pdrv_genirq 16384 0
uio 16384 2 uio_pruss,uio_pdrv_genirq

debian@beaglebone:~$ cat /sys/devices/platform/ocp/ocp:P8_15_pinmux/state
pruecapin_pu

some additional notes… while at it :wink:

ArduPilot is working with the memory mapped PRU aka UIO (not the remoteproc method)
as explained here: Enabling the Beaglebone PRU UIO Driver in Recent Kernels

The memory mapping for the PRU is set while loading the overlay : /lib/firmware/AM335X-PRU-UIO-00A0.dtbo
Looking at this directory tree fragment you can see the memory mapping: pruss@4a300000

That correspond to the memory address of the code running on ArduPilot as showned in this example

1 Like