Skip to content

Instantly share code, notes, and snippets.

@jadonk
Last active August 29, 2015 14:15
Show Gist options
  • Save jadonk/d3e761ade54df23f04a6 to your computer and use it in GitHub Desktop.
Save jadonk/d3e761ade54df23f04a6 to your computer and use it in GitHub Desktop.
How to build AM335x StarterWare for PRU
CC := clpru
AR := arpru
#OBJECTS = $(patsubst %.c,%.o,$(wildcard drivers/*.c))
OBJECTS = \
drivers/cpsw.o drivers/elm.o drivers/hs_mmcsd.o drivers/phy.o drivers/uart_irda_cir.o \
drivers/dcan.o drivers/gpio_v2.o drivers/mailbox.o drivers/raster.o drivers/watchdog.o \
drivers/dmtimer.o drivers/gpmc.o drivers/mcspi.o drivers/rtc.o \
drivers/ecap.o drivers/hsi2c.o drivers/mdio.o drivers/tsc_adc.o
SOURCES = $(patsubst %o,%c,$(OBJECTS)) include/*.h include/hw/*.h
SRCTAR = pru_am335x_starterware.tgz
TARGETDIR = build/pru
TARGET = $(TARGETDIR)/libstarterware.a
INCLUDEDIR = -Iinclude -Iinclude/hw -I/usr/share/ti/cgt-pru/include
CFLAGS := -O3 $(INCLUDEDIR)
$(TARGET): $(OBJECTS)
mkdir -p $(TARGETDIR)
rm -f $@
$(AR) a $@ $(OBJECTS)
%.o: %.c
$(CC) -c --output_file=$@ $< $(CFLAGS)
install: $(TARGET)
sudo install -m 755 -d /usr/share/pru_am335x_starterware/lib
sudo install -m 644 -t /usr/share/pru_am335x_starterware/lib $(TARGET)
sudo install -m 755 -d /usr/share/pru_am335x_starterware/include
sudo install -m 644 -t /usr/share/pru_am335x_starterware/include include/*.h
sudo install -m 755 -d /usr/share/pru_am335x_starterware/include/hw
sudo install -m 644 -t /usr/share/pru_am335x_starterware/include/hw include/hw/*.h
$(SRCTAR) package:
tar czf $(SRCTAR) $(SOURCES) Makefile --transform "s#^#pru_am335x_starterware/#"
.PHONY: clean
clean:
rm -f $(OBJECTS) $(TARGET) $(SRCTAR)
@jadonk
Copy link
Author

jadonk commented Feb 18, 2015

To build an executable using this library, use https://gist.github.com/jadonk/a6432fde48408e72fdd7

@jadonk
Copy link
Author

jadonk commented Feb 19, 2015

This builds a library out of a portion of http://processors.wiki.ti.com/index.php/StarterWare. It should also create a tarball that is redistributable, but I need to verify each of the headers to confirm the license really is redistributable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment