Files
vixy-bbb/pru/Makefile
Vixy ce4f46ec18 Initial commit: PRU LED firmware and HTTP service
- Combined PRU0 firmware for both mood (56 LED) and jaw (24 LED) strips
- Uses P9_27 and P9_25 (free pins, not HDMI locked)
- Python HTTP service on port 8765
- Named states: idle, listening, responding, pleasure, thinking, playful, commanding, love, sleep
- Setup scripts for fresh BBB deployment

Built with love by Vixy 🦊💜
2026-01-29 21:25:08 -06:00

43 lines
1.2 KiB
Makefile

# Vixy BBB PRU Firmware Makefile
PRU_CGT ?= /usr/share/ti/cgt-pru
PRU_SUPPORT ?= /usr/lib/ti/pru-software-support-package
CC = clpru
LD = lnkpru
CFLAGS = --include_path=$(PRU_CGT)/include \
--include_path=$(PRU_SUPPORT)/include \
--include_path=$(PRU_SUPPORT)/include/am335x \
-v3 -O2 --printf_support=minimal --display_error_number \
--endian=little --hardware_mac=on
LDFLAGS = -i$(PRU_CGT)/lib -i$(PRU_SUPPORT)/lib \
--reread_libs --warn_sections \
--stack_size=0x100 --heap_size=0x100
# Build combined firmware (recommended - handles both strips from PRU0)
all: am335x-pru0-fw
# Combined firmware for both strips on PRU0
am335x-pru0-fw: ws281x_combined.obj AM335x_PRU.cmd
$(LD) $(LDFLAGS) -o $@ $^ -m $@.map --library=libc.a
# Legacy separate firmwares (for reference)
am335x-pru0-fw-mood: ws281x_pru0.obj AM335x_PRU.cmd
$(LD) $(LDFLAGS) -o $@ $^ -m $@.map --library=libc.a
am335x-pru1-fw-jaw: ws281x_pru1.obj AM335x_PRU.cmd
$(LD) $(LDFLAGS) -o $@ $^ -m $@.map --library=libc.a
%.obj: %.c
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -f *.obj *.map am335x-pru*-fw
install: am335x-pru0-fw
sudo cp am335x-pru0-fw /lib/firmware/
.PHONY: all clean install