summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'example/apps/sorte/slave/makefile_armv7')
-rw-r--r--example/apps/sorte/slave/makefile_armv7157
1 files changed, 157 insertions, 0 deletions
diff --git a/example/apps/sorte/slave/makefile_armv7 b/example/apps/sorte/slave/makefile_armv7
new file mode 100644
index 0000000..7172a10
--- /dev/null
+++ b/example/apps/sorte/slave/makefile_armv7
@@ -0,0 +1,157 @@
1#
2# Macro definitions referenced below
3#
4
5empty =
6space =$(empty) $(empty)
7
8ARMV7OBJDIR ?= ./obj/$(DEVICE)
9ARMV7BINDIR ?= ./bin/$(DEVICE)
10ARMV7LIBDIR ?= ./lib
11
12ARMV7OBJDIR := $(ARMV7OBJDIR)/pruss/example/apps/sorte/slave
13ARMV7BINDIR := $(ARMV7BINDIR)/pruss/example/apps/sorte/slave
14
15#Cross tools
16ifdef CROSS_TOOL_INSTALL_PATH
17# Support backwards compatibility with KeyStone1 approach
18 CC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc
19 AC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)as
20 AR = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)ar
21 LD = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc
22endif
23
24# INCLUDE Directories
25PRUSS_INC_DIR = $(PDK_INSTALL_PATH)/ti/drv/pruss
26
27PRUSS_SRC_DIR ?= $(PDK_INSTALL_PATH)/ti/drv/pruss
28PRUSS_TEST_DIR = $(PRUSS_SRC_DIR)/test
29PRUSS_EXAMPLE_SORTE_DIR = $(PRUSS_SRC_DIR)/example/apps/sorte
30PRUSS_ARM_LIN_TEST_DIR = $(PRUSS_TEST_DIR)/src/armv7/linux
31PRUSS_DEVICE_DIR = $(PRUSS_SRC_DIR)/soc/$(DEVICE)
32
33INCDIR := $(PDK_INSTALL_PATH);$(PRUSS_INC_DIR);$(PRUSS_EXAMPLE_SORTE_DIR)/src;$(PRUSS_ARM_LIN_TEST_DIR);$(PRUSS_DEVICE_DIR);$(PRUSS_SRC_DIR)/../../..
34
35# Libraries
36PRUSS_LIB = -lpruss
37OSAL_LIB = -L $(PDK_INSTALL_PATH)/ti/osal/lib/linux -losal
38
39
40FW_LNK_CMD_REV1 = $(PDK_PKG_PATH)/ti/build/pruss/lnk_a8_a9_a15_REV1_linux.cmd
41FW_LNK_CMD_REV2 = $(PDK_PKG_PATH)/ti/build/pruss/lnk_a8_a9_a15_REV2_linux.cmd
42FW_BIN_PATH_A15 = $(PDK_PKG_PATH)/ti/drv/pruss/example/apps/sorte/firmware/bin/$(DEVICE)/a15_0/REV2
43FW_BIN_PATH_A9 = $(PDK_PKG_PATH)/ti/drv/pruss/example/apps/sorte/firmware/bin/$(DEVICE)/a9host/REV1
44FW_BIN_PATH_A8 = $(PDK_PKG_PATH)/ti/drv/pruss/example/apps/sorte/firmware/bin/$(DEVICE)/a8host/REV1
45
46ifeq ($(DEVICE), am571x)
47 TARGET = SOC_AM571x
48 BOARD = idkAM571x
49 FW_LNK_CMD = $(FW_LNK_CMD_REV2)
50 FW_LIB_PRU0 = $(FW_BIN_PATH_A15)/sorte_slave_PRU0.bin
51 FW_LIB_PRU1 = $(FW_BIN_PATH_A15)/sorte_slave_PRU1.bin
52endif
53
54ifeq ($(DEVICE), am572x)
55 TARGET = SOC_AM572x
56 BOARD = idkAM572x
57 FW_LNK_CMD = $(FW_LNK_CMD_REV2)
58 FW_LIB_PRU0 = $(FW_BIN_PATH_A15)/sorte_slave_PRU0.bin
59 FW_LIB_PRU1 = $(FW_BIN_PATH_A15)/sorte_slave_PRU1.bin
60endif
61
62ifeq ($(DEVICE), am574x)
63 TARGET = SOC_AM574x
64 BOARD = idkAM574x
65 FW_LNK_CMD = $(FW_LNK_CMD_REV2)
66 FW_LIB_PRU0 = $(FW_BIN_PATH_A15)/sorte_slave_PRU0.bin
67 FW_LIB_PRU1 = $(FW_BIN_PATH_A15)/sorte_slave_PRU1.bin
68endif
69
70ifeq ($(DEVICE), am335x)
71 TARGET = SOC_AM335x
72 BOARD = icev2AM335x
73 FW_LNK_CMD = $(FW_LNK_CMD_REV1)
74 FW_LIB_PRU0 = $(FW_BIN_PATH_A8)/sorte_slave_PRU0.bin
75 FW_LIB_PRU1 = $(FW_BIN_PATH_A8)/sorte_slave_PRU1.bin
76endif
77
78ifeq ($(DEVICE), am437x)
79 TARGET = SOC_AM437x
80 BOARD = idkAM437x
81 FW_LNK_CMD = $(FW_LNK_CMD_REV1)
82 FW_LIB_PRU0 = $(FW_BIN_PATH_A9)/sorte_slave_PRU0.bin
83 FW_LIB_PRU1 = $(FW_BIN_PATH_A9)/sorte_slave_PRU1.bin
84endif
85
86ifeq ($(DEVICE), k2g)
87 TARGET = SOC_K2G
88 BOARD = iceK2G
89 FW_LNK_CMD = $(FW_LNK_CMD_REV2)
90 FW_LIB_PRU0 = $(FW_BIN_PATH_A15)/sorte_slave_PRU0.bin
91 FW_LIB_PRU1 = $(FW_BIN_PATH_A15)/sorte_slave_PRU1.bin
92endif
93
94ifeq ($(USEDYNAMIC_LIB), yes)
95#presuming ARM executable would depend on dynamic library dependency
96EXE_EXTN = _so
97LIBS = $(PRUSS_LIB) $(OSAL_LIB)
98else
99#forcing ARM executable to depend on static LLD libraries
100EXE_EXTN =
101LIBS = -Wl,-Bstatic $(PRUSS_LIB) $(OSAL_LIB) -Wl,-Bdynamic
102endif
103
104
105# Compiler options
106INTERNALDEFS = $(DEBUG_FLAG) -D__ARMv7 -D__LINUX_USER_SPACE -D_LITTLE_ENDIAN=1 -DMAKEFILE_BUILD -D_GNU_SOURCE -D${BOARD} -D${TARGET} -DUIO_INTERRUPT_ONE_SHOT_MODE -DSORTE_SLAVE
107
108# Linker options
109INTERNALLINKDEFS = -Wl,--start-group -L $(ARMV7LIBDIR) $(LIBS) -lrt -Wl,--end-group -pthread $(LDFLAGS)
110
111MAIN_TEST_EXE=pruss_app_sorte_slave$(EXE_EXTN).out
112
113OBJEXT = o
114
115SRCDIR = $(PRUSS_EXAMPLE_SORTE_DIR)/src:$(PRUSS_ARM_LIN_TEST_DIR):$(PRUSS_DEVICE_DIR):
116
117INCS = -I. -I$(strip $(subst ;, -I,$(INCDIR)))
118
119VPATH=$(SRCDIR)
120
121#List the Source Files
122OSAL_TEST_SRC = \
123 mmap_helper.c \
124 pruicss_soc.c
125
126MAIN_TEST_SRC = \
127 main.c
128
129# FLAGS for the SourceFiles
130SRC_CFLAGS = -I. $(CFLAGS)
131
132# Make Rule for the SRC Files
133OSAL_TEST_SRC_OBJS = $(patsubst %.c, $(ARMV7OBJDIR)/%.$(OBJEXT), $(OSAL_TEST_SRC))
134MAIN_TEST_SRC_OBJS = $(patsubst %.c, $(ARMV7OBJDIR)/%.$(OBJEXT), $(MAIN_TEST_SRC))
135
136all:$(ARMV7BINDIR)/$(MAIN_TEST_EXE)
137
138$(ARMV7BINDIR)/$(MAIN_TEST_EXE): $(MAIN_TEST_SRC_OBJS) $(OSAL_TEST_SRC_OBJS) $(ARMV7BINDIR)/.created
139 @echo linking $(MAIN_TEST_SRC_OBJS) $(OSAL_TEST_SRC_OBJS) ${FW_LIB_PRU0} ${FW_LIB_PRU1} ${FW_LNK_CMD} into $@ ...
140 @$(CC) $(MAIN_TEST_SRC_OBJS) $(OSAL_TEST_SRC_OBJS) ${FW_LIB_PRU0} ${FW_LIB_PRU1} ${FW_LNK_CMD} $(INTERNALLINKDEFS) -o $@
141
142$(ARMV7OBJDIR)/%.$(OBJEXT): %.c $(ARMV7OBJDIR)/.created
143 @echo compiling $< ...
144 @$(CC) -c $(SRC_CFLAGS) $(INTERNALDEFS) $(INCS) $< -o $@
145
146$(ARMV7OBJDIR)/.created:
147 @mkdir -p $(ARMV7OBJDIR)
148 @touch $(ARMV7OBJDIR)/.created
149
150$(ARMV7BINDIR)/.created:
151 @mkdir -p $(ARMV7BINDIR)
152 @touch $(ARMV7BINDIR)/.created
153
154clean:
155 @rm -fr $(ARMV7OBJDIR)
156 @rm -fr $(ARMV7BINDIR)
157