Compile BeagleLogic PRU firmware on AI64

We’re currently using the BeagleLogic project on a BB-Black but are looking to see if we can port it to the AI64.

I’m running the 01/2023 snapshot:

root@BeagleBone:/home/debian/BeagleLogic/firmware# beagle-version
eeprom:[BBONEAI-64-B0-B0007801B00001643422BBBBBB2671]
model:[BeagleBoard.org_BeagleBone_AI-64]
dogtag:[BeagleBoard.org Debian Bullseye Minimal Image 2023-01-02]
bootloader:[/dev/mmcblk0boot0]:[tiboot3.bin]:[U-Boot SPL 2021.01-g3419da0b (Jan 13 2022 - 15:29:57 +0000)]
bootloader:[/dev/mmcblk0]:[/boot/firmware/tiboot3.bin]:[U-Boot SPL 2021.01-gc21ddbdf (Nov 28 2022 - 15:42:44 +0000)]
bootloader:[/dev/mmcblk0]:[/boot/firmware/tispl.bin]:[U-Boot SPL 2021.01-gc21ddbdf (Nov 28 2022 - 15:42:44 +0000)]
bootloader:[/dev/mmcblk0]:[/boot/firmware/u-boot.img]:[U-Boot 2021.01-gc21ddbdf (Nov 28 2022 - 15:42:44 +0000)]
bootloader:[/dev/mmcblk1]:[/boot/firmware/tiboot3.bin]:[U-Boot SPL 2021.01-gc21ddbdf (Nov 28 2022 - 15:42:44 +0000)]
bootloader:[/dev/mmcblk1]:[/boot/firmware/tispl.bin]:[U-Boot SPL 2021.01-gc21ddbdf (Nov 28 2022 - 15:42:44 +0000)]
bootloader:[/dev/mmcblk1]:[/boot/firmware/u-boot.img]:[U-Boot 2021.01-gc21ddbdf (Nov 28 2022 - 15:42:44 +0000)]
UBOOT: Booted Device-Tree:[k3-j721e-beagleboneai64.dts]
kernel:[5.10.153-ti-arm64-r84]
...

I did a git clone of the repo here: GitHub - abhishek-kakkar/BeagleLogic: A Software Suite that implements a logic analyzer with the PRU on the BeagleBone / BeagleBone Black.
I realize it’s probably not going to work out of the box, but I’m not even sure how to deal with this error.

root@BeagleBone:/tmp# git clone https://github.com/abhishek-kakkar/BeagleLogic.git
Cloning into 'BeagleLogic'...
remote: Enumerating objects: 1302, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 1302 (delta 18), reused 16 (delta 10), pack-reused 1274
Receiving objects: 100% (1302/1302), 1.31 MiB | 3.26 MiB/s, done.
Resolving deltas: 100% (616/616), done.
root@BeagleBone:/tmp# cd BeagleLogic/firmware
root@BeagleBone:/tmp/BeagleLogic/firmware# export PRU_CGT=/usr/share/ti/cgt-pru
root@BeagleBone:/tmp/BeagleLogic/firmware# make

************************************************************
Building project: firmware

Building file: beaglelogic-pru0.c
Invoking: PRU Compiler
/usr/share/ti/cgt-pru/bin/clpru --include_path=/usr/share/ti/cgt-pru/include --include_path=/usr/lib/ti/pru-software-support-package/include --include_path=/usr/lib/ti/pru-software-support-package/include/am335x -v3 -O2 --display_error_number --endian=little --hardware_mac=on --obj_directory=release --pp_directory=release -ppd -ppa -fe release/beaglelogic-pru0.object beaglelogic-pru0.c
"resource_table_0.h", line 50: error #71: incomplete type is not allowed
"resource_table_0.h", line 88: error #71: incomplete type is not allowed
"resource_table_0.h", line 90: error #28: expression must have a constant value
3 errors detected in the compilation of "beaglelogic-pru0.c".

>> Compilation failure
make: *** [Makefile:105: release/beaglelogic-pru0.object] Error 1

Also, are the instructions between the BBB and BBAI64 compatible enough that this will even work?

Thanks
-Randy

1 Like

Hi did you work this out? I have the same issue bringing some pru code from and older debian image with a 4.19 kernel to the latest image that has a 5.10 kernel. The resource_table_0.h I believe is from TI. SO I’m not sure why it doesn’t compile.

Unfortunately we weren’t able to make any progress on it.

I reached out on the Beaglelogic github and got this reply: Installing on 5.x · Issue #50 · abhishek-kakkar/BeagleLogic · GitHub

Ultimately we’re planning on moving away from Beaglelogic as it’s not being maintained.