-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
62 lines (47 loc) · 1.71 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# * Makefile for PRU firmware
# * Builds only with CLPRU 2.0.0B* and above
# BBB hostname
BBHOST = [email protected]
# Tools to be used
CC=clpru
LD=lnkpru
# Default installation location for TI code generation tools (TI-CGT PRU)
# Change if you have installed at some other location
CGTDIR = /usr/share/ti/cgt-pru
# PRU software support package by TI
SWDIR ?= /usr/share/pru-software-support-package
INCLUDEDIR = -I$(SWDIR)/include -I$(SWDIR)/include/am335x -I$(CGTDIR)/include -I$(CGTDIR)/lib -I./include
# Compiler Options
# -v3 PRU version 3
# --c99 C99 support
# --gcc Enable GCC extensions
# -O3 Optimization level maximum
# --printf_support=minimal Minimal printf
# -ppd Generate dependencies *.pp
# -ppa Continue after generating deps
# -DDEBUG Enable debug
CFLAGS= -v3 -s -al -O3 --c99 --gcc --printf_support=minimal --symdebug:none $(INCLUDEDIR) -ppd -ppa
# Linker Options
# -cr Link using RAM auto init model (loader assisted)
# -x Reread libs until no unresolved symbols found
LDFLAGS=-cr --diag_warning=225 -lam335x_pru.cmd -x
.PHONY: all clean
all: rproc-pru0-fw rproc-pru1-fw
%.obj: %.c
@echo " CC $@"
@$(CC) $(CFLAGS) -c $< -ea=.s
rproc-pru0-fw: rproc-pru0-fw.obj
@echo " LD $@"
@$(CC) $(CFLAGS) $^ -q -z $(LDFLAGS) -o $@
rproc-pru1-fw: rproc-pru1-fw.obj pru_vring.obj
@echo " LD $@"
@$(CC) $(CFLAGS) $^ -q -z $(LDFLAGS) -o $@
install-frombb: rproc-pru0-fw rproc-pru1-fw
cp -t /lib/firmware rproc-pru0-fw
cp -t /lib/firmware rproc-pru1-fw
install-tobb: rproc-pru0-fw rproc-pru1-fw
scp -q rproc-pru0-fw $(BBHOST):/lib/firmware
scp -q rproc-pru1-fw $(BBHOST):/lib/firmware
clean:
rm -f *.obj *.lst *.s rproc-pru0-fw rproc-pru1-fw *.pp
-include $(patsubst %.obj,%.pp,$(OBJS))