A step by step introduction to programming the BeagleBone AI 64 Tutorial board, especially with DSP target in mind.
This project supports two compilation workflows: native compilation directly on the BeagleBone board, and cross-compilation on a host PC using Docker.
Install the necessary TI compilers, support packages, and headers:
sudo apt update
sudo apt install ti-c7000-cgt-v2.1 ti-c6000-cgt-v8.3 ti-pru-cgt-v2.3 ti-pru-software linux-headers-$(uname -r)Compile all examples from the root of the project:
makeOr build a single example by navigating into its directory and running make.
This method containerizes the exact same compiler toolchain so you can build the firmware on your computer without modifying your host's package manager.
- Install Prerequisites: Install QEMU user emulation so your host can execute ARM64 container instructions:
sudo apt update sudo apt install qemu-user-static binfmt-support
- Build and Compile: Use the helper script to build the compiler container and run the Makefiles:
# Compile all examples ./build.sh all # Clean build files ./build.sh clean # Compile a specific example folder ./build.sh -C example-00-pru
- simplest PRU software
- Simple Hello World with remoteproc trace
- Simplest DSP firmware
- Blinking LED (PRU)
- Dual Blinking LEDs (PRU Simultaneous Toggling)
- Direct Digital Synthesis & RPMsg (PRU + RTU)
- Hardware-Accelerated Blinking via EPWM (Enhanced PWM)
- https://www.glennklockwood.com/embedded/
- https://markayoder.github.io/PRUCookbook/
- https://github.com/RoSchmi/Beaglebone-PRU-RPMsg-HelloWorld
- https://solidmodeling.calliope.us/index.php/2016/09/11/beaglebone-remoteproc-hello-world/
- https://github.com/PierrickRauby/PRU-RPMsg-Setup-BeagleBoneBlack/blob/master/PRU%20Rpmsg%20documentation.pdf
- https://github.com/kevinacahalan/BeagleBoneAI64_Heterogeneous_App_Example