So I looked over the libpruio page and it looks great. My head’s spinning a bit between remoteproc, uio, and libpruio options but I’d like to try libpruio.
I don’t want to break remoteproc if I set up to use libpruio. Will that happen?
Also, I’m running Buster (version.sh) at the bottom of this post
The instructions refer to Jessie. Are the Debian packages referred to compatible with Buster? Here’s what I am referring to.
The easy way to benefit from libpruio is to install the Debian packages. They’re not in mainline, yet. So you have to add a PPA (Personal Package Archive) to your package management sources. On the default Debian operating system, edit the file sudo nano /etc/apt/sources.list and add the lines:
deb http://beagle.tuks.nl/debian jessie/ deb-src http://beagle.tuks.nl/debian jessie/
Then grep the keyring by (mind the ‘-’ character at the end)
wget -qO - http://beagle.tuks.nl/debian/pubring.gpg | sudo apt-key add -
Once prepared, you can update your package manager database
sudo apt-get update
debian@beaglebone:/$ sudo opt/scripts/tools/version.sh
git:/opt/scripts/:[b39ec679648a6be8f25f48bd1c9784c1fc5a0c46]
eeprom:[A335BNLT00C04417BBBK1847]
model:[TI_AM335x_BeagleBone_Black]
dogtag:[BeagleBoard.org Debian Buster IoT Image 2020-04-06]
bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot 2019.04-00002-g07d5700e21]:[location: dd MBR]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2018.03-00002-gac9cce7c6a]:[location: dd MBR]
UBOOT: Booted Device-Tree:[am335x-boneblack-uboot-univ.dts]
UBOOT: Loaded Overlay:[AM335X-PRU-RPROC-4-19-TI-00A0]
UBOOT: Loaded Overlay:[BB-ADC-00A0]
UBOOT: Loaded Overlay:[BB-BONE-eMMC1-01-00A0]
UBOOT: Loaded Overlay:[BB-HDMI-TDA998x-00A0]
UBOOT: Loaded Overlay:[BB-I2C2-RTC-DS3231]
UBOOT: Loaded Overlay:[BB-W1-P9.12-00A2]
kernel:[4.19.94-ti-r61]
nodejs:[v10.15.2]
/boot/uEnv.txt Settings:
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[uboot_overlay_addr4=/lib/firmware/BB-W1-P9.12-00A0.dtbo]
uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-19-TI-00A0.dtbo]
uboot_overlay_options:[enable_uboot_cape_universal=1]
uboot_overlay_options:[dtb_overlay=/lib/firmware/BB-I2C2-RTC-DS3231.dtbo]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade ]
pkg:[bb-cape-overlays]:[4.14.20210401.0-0~buster+20210401]
pkg:[bb-wl18xx-firmware]:[1.20200322.0-0rcnee0~buster+20200322]
pkg:[kmod]:[26-1]
pkg:[librobotcontrol]:[1.0.4-git20190227.1-0rcnee0~buster+20190327]
pkg:[firmware-ti-connectivity]:[20190717-2rcnee1~buster+20200305]
groups:[debian : debian adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal bluetooth netdev i2c gpio pwm eqep remoteproc admin spi iio docker tisdk weston-launch xenomai cloud9ide]
cmdline:[console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet]
dmesg | grep remote
[ 66.835497] remoteproc remoteproc0: wkup_m3 is available
[ 67.240120] remoteproc remoteproc0: powering up wkup_m3
[ 67.240151] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217148
[ 67.240404] remoteproc remoteproc0: remote processor wkup_m3 is now up
[ 69.894313] remoteproc remoteproc1: 4a334000.pru is available
[ 69.907897] remoteproc remoteproc2: 4a338000.pru is available
[15549.657580] remoteproc remoteproc1: powering up 4a334000.pru
[15549.665009] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[15549.665035] remoteproc remoteproc1: header-less resource table
[15549.675909] remoteproc remoteproc1: Boot failed: -22
[15602.811891] remoteproc remoteproc1: powering up 4a334000.pru
[15602.812184] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[15602.812202] remoteproc remoteproc1: header-less resource table
[15602.823804] remoteproc remoteproc1: Boot failed: -22
[15801.464252] remoteproc remoteproc1: powering up 4a334000.pru
[15801.464540] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[15801.464559] remoteproc remoteproc1: header-less resource table
[15801.475947] remoteproc remoteproc1: Boot failed: -22
[15835.561165] remoteproc remoteproc1: powering up 4a334000.pru
[15835.561459] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[15835.561478] remoteproc remoteproc1: header-less resource table
[15835.575362] remoteproc remoteproc1: Boot failed: -22
[15973.384568] remoteproc remoteproc1: powering up 4a334000.pru
[15973.384866] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[15973.384884] remoteproc remoteproc1: header-less resource table
[15973.395805] remoteproc remoteproc1: Boot failed: -22
[15996.157221] remoteproc remoteproc1: powering up 4a334000.pru
[15996.157504] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[15996.157523] remoteproc remoteproc1: header-less resource table
[15996.171335] remoteproc remoteproc1: Boot failed: -22
[16031.348941] remoteproc remoteproc1: powering up 4a334000.pru
[16031.349226] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[16031.349244] remoteproc remoteproc1: header-less resource table
[16031.359886] remoteproc remoteproc1: Boot failed: -22
[26382.806806] remoteproc remoteproc1: powering up 4a334000.pru
[26382.807380] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 94376
[26382.820350] remoteproc remoteproc1: registered virtio0 (type 7)
[26382.820370] remoteproc remoteproc1: remote processor 4a334000.pru is now up
dmesg | grep pru
[ 69.894313] remoteproc remoteproc1: 4a334000.pru is available
[ 69.894508] pru-rproc 4a334000.pru: PRU rproc node pru@4a334000 probed successfully
[ 69.907897] remoteproc remoteproc2: 4a338000.pru is available
[ 69.908098] pru-rproc 4a338000.pru: PRU rproc node pru@4a338000 probed successfully
[15549.657580] remoteproc remoteproc1: powering up 4a334000.pru
[15549.665009] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[15602.811891] remoteproc remoteproc1: powering up 4a334000.pru
[15602.812184] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[15801.464252] remoteproc remoteproc1: powering up 4a334000.pru
[15801.464540] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[15835.561165] remoteproc remoteproc1: powering up 4a334000.pru
[15835.561459] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[15973.384568] remoteproc remoteproc1: powering up 4a334000.pru
[15973.384866] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[15996.157221] remoteproc remoteproc1: powering up 4a334000.pru
[15996.157504] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[16031.348941] remoteproc remoteproc1: powering up 4a334000.pru
[16031.349226] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 30880
[26382.806806] remoteproc remoteproc1: powering up 4a334000.pru
[26382.807380] remoteproc remoteproc1: Booting fw image am335x-pru0-fw, size 94376
[26382.814125] pruss 4a300000.pruss: configured system_events[63-0] = 00000000,00030000
[26382.814148] pruss 4a300000.pruss: configured intr_channels = 0x00000005 host_intr = 0x00000005
[26382.820370] remoteproc remoteproc1: remote processor 4a334000.pru is now up
[26382.891327] virtio_rpmsg_bus virtio0: creating channel rpmsg-pru addr 0x1e
[26382.946821] rpmsg_pru virtio0.rpmsg-pru.-1.30: new rpmsg_pru device: /dev/rpmsg_pru30
dmesg | grep pinctrl-single
[ 0.942975] pinctrl-single 44e10800.pinmux: 142 pins, size 568
dmesg | grep gpio-of-helper
[ 0.956726] gpio-of-helper ocp:cape-universal: ready
lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
END