BeagleBone Pinout and PRU not working, going crazy...

I am working on this project, and am I at my wit’s end, I am hoping someone can help. I am on a a BeagleBone Blue for class, and for whatever reason, can not get the PRU to trigger pins. Ive been all over the internet, through examples, tutorials, but nothing seems to work. I wonder if it has something to do with it being a Beagle Bone Blue or not , and the device tree overlays. Things ive done:

  1. Confirmed that my pins are correct on the scope. By exporting the pin numbers (113, and 116) to /sys/class/gpio/export I can toggle the values and see the voltages flip on the scope. I can also unexport them.
  2. I set the pins to pruout with
  343  config-pin P9_29 pruout
  344  config-pin P9_30 pruout

and when I do a query -q, I can see that it is mapped to the pruouts.

  1. Ive tried to blink the pins with this custom pru module, both in PRU1 and PRU) (remoteproc2, and remoteproc1) and all various types of pin numbers, and even with 0xFFFFFFFF, and can not see the pin switching. When loading the modules via the echo start | sudo tee ... command I can see in dmesg that it starts and does not error out. Here is the code
#include <stdint.h>
#include <pru_cfg.h>
#include "resource_table_empty.h"

volatile register uint32_t __R30;
volatile register uint32_t __R31;

void main(void) {
    while (1) {
        __R30 = 0xFFFFFFFF;
        __delay_cycles(200000000); // adjust speed
        __R30 = 0x00000000;
        __delay_cycles(200000000); // adjust speed
    }
}
  1. Ive also ran
cat /sys/kernel/debug/gpio | grep 113 
gpio-113 (MCASP0_AHCLKR ) 
cat /sys/kernel/debug/gpio | grep 116 
gpio-116 (MCASP0_AXR1   ) 

And chat gpt says that those pin names are mapped in the kernel header, so thats ok. Unless there is a device tree overlay or something that isnt letting the pru toggle them?

What am I missing?

CAn you post the dmesg command result?
Do you enabled the pru in the uboot file ?
What kernel version are you using?

i wonder if you aren’t moving the executable to the right location, and so its just running the default executable which doesnt do anything.

are you writing your .out file to

/lib/firmware/am335x-pru0-fw or /lib/firmware/am335x-pru1-fw

?

I dont have it in front of me, but the dmesg command result is something like “loaded firmware @4222424.2342 something” When I compile the firmware without a resource table, I can see it erroring out, so I figure it is loading it? I am putting it in /lib/firmware, not /lib/firmware/am335 * etc. I am enabling the pru in the uboot. Here is the output of the version script. Ignore the pin errors, I added a device tree overlay to try and see if I could grab control of them, but it seems that ocr_helper has them? I have since removed the additional dtbo.

debian@beaglebone:~$ sudo /opt/scripts/tools/version.sh git:/opt/scripts/:[1aa73453b2c980b75e31e83dab7dd8b6696f10c7] 
eeprom:[A335BNLTBLA21717EL002665] 
model:[TI_AM335x_BeagleBone_Blue] 
dogtag:[BeagleBoard.org Debian Image 2018-10-07] 
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2019.04-00002-gc9b3922522]:[location: dd MBR] kernel:[4.14.71-ti-r80] 
nodejs:[v6.14.4] uboot_overlay_options:[enable_uboot_overlays=1] 
uboot_overlay_options:[disable_uboot_overlay_video=1] 
uboot_overlay_options:[disable_uboot_overlay_audio=1] 
uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo] 
uboot_overlay_options:[disable_uboot_overlay_spi=1] 
uboot_overlay_options:[uboot_overlay_addr5=/lib/firmware/BB-BLUE-PRU-P9_28_31-00A0.dtbo] 
pkg check: to individually upgrade run: 
[sudo apt install --only-upgrade <pkg>] 
pkg:[bb-cape-overlays]:[4.4.20180928.0-0rcnee0~stretch+20180928] 
pkg:[bb-wl18xx-firmware]:[1.20180517-0rcnee0~stretch+20180517] 
pkg:[kmod]:[23-2rcnee1~stretch+20171005] 
pkg:[librobotcontrol]:[1.0.3-git20181005.0-0rcnee0~stretch+20181005] 
pkg:[firmware-ti-connectivity]:[20170823-1rcnee1~stretch+20180328] 
groups:[debian : debian adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal 
i2c bluetooth netdev cloud9ide gpio pwm eqep admin spi tisdk weston-launch xenomai] 
cmdline:[console=ttyO0,115200n8 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet] 
dmesg | grep pinctrl-single 
[ 1.070672] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568 
[ 1.116704] pinctrl-single 44e10800.pinmux: pin PIN107 already requested by ocp:pru_test_helper; cannot claim for ocp:helper 
[ 1.128096] pinctrl-single 44e10800.pinmux: pin-107 (ocp:helper) status -22 
[ 1.135125] pinctrl-single 44e10800.pinmux: could not request pin 107 (PIN107) from group pins on device pinctrl-single 
[ 1.159009] pinctrl-single 44e10800.pinmux: pin PIN103 already requested by ocp:pru_test_helper; cannot claim for ocp:P9_28_pinmux 
[ 1.170873] pinctrl-single 44e10800.pinmux: pin-103 (ocp:P9_28_pinmux) status -22 
[ 1.178420] pinctrl-single 44e10800.pinmux: could not request pin 103 (PIN103) from group pinmux_P9_28_default_pin on device pinctrl-single dmesg 
| grep gpio-of-helper