- 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 🦊💜
43 lines
1.2 KiB
Makefile
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
|