diff options
Diffstat (limited to 'example/apps/sorte/slave/makefile_armv7')
-rw-r--r-- | example/apps/sorte/slave/makefile_armv7 | 157 |
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 | |||
5 | empty = | ||
6 | space =$(empty) $(empty) | ||
7 | |||
8 | ARMV7OBJDIR ?= ./obj/$(DEVICE) | ||
9 | ARMV7BINDIR ?= ./bin/$(DEVICE) | ||
10 | ARMV7LIBDIR ?= ./lib | ||
11 | |||
12 | ARMV7OBJDIR := $(ARMV7OBJDIR)/pruss/example/apps/sorte/slave | ||
13 | ARMV7BINDIR := $(ARMV7BINDIR)/pruss/example/apps/sorte/slave | ||
14 | |||
15 | #Cross tools | ||
16 | ifdef 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 | ||
22 | endif | ||
23 | |||
24 | # INCLUDE Directories | ||
25 | PRUSS_INC_DIR = $(PDK_INSTALL_PATH)/ti/drv/pruss | ||
26 | |||
27 | PRUSS_SRC_DIR ?= $(PDK_INSTALL_PATH)/ti/drv/pruss | ||
28 | PRUSS_TEST_DIR = $(PRUSS_SRC_DIR)/test | ||
29 | PRUSS_EXAMPLE_SORTE_DIR = $(PRUSS_SRC_DIR)/example/apps/sorte | ||
30 | PRUSS_ARM_LIN_TEST_DIR = $(PRUSS_TEST_DIR)/src/armv7/linux | ||
31 | PRUSS_DEVICE_DIR = $(PRUSS_SRC_DIR)/soc/$(DEVICE) | ||
32 | |||
33 | INCDIR := $(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 | ||
36 | PRUSS_LIB = -lpruss | ||
37 | OSAL_LIB = -L $(PDK_INSTALL_PATH)/ti/osal/lib/linux -losal | ||
38 | |||
39 | |||
40 | FW_LNK_CMD_REV1 = $(PDK_PKG_PATH)/ti/build/pruss/lnk_a8_a9_a15_REV1_linux.cmd | ||
41 | FW_LNK_CMD_REV2 = $(PDK_PKG_PATH)/ti/build/pruss/lnk_a8_a9_a15_REV2_linux.cmd | ||
42 | FW_BIN_PATH_A15 = $(PDK_PKG_PATH)/ti/drv/pruss/example/apps/sorte/firmware/bin/$(DEVICE)/a15_0/REV2 | ||
43 | FW_BIN_PATH_A9 = $(PDK_PKG_PATH)/ti/drv/pruss/example/apps/sorte/firmware/bin/$(DEVICE)/a9host/REV1 | ||
44 | FW_BIN_PATH_A8 = $(PDK_PKG_PATH)/ti/drv/pruss/example/apps/sorte/firmware/bin/$(DEVICE)/a8host/REV1 | ||
45 | |||
46 | ifeq ($(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 | ||
52 | endif | ||
53 | |||
54 | ifeq ($(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 | ||
60 | endif | ||
61 | |||
62 | ifeq ($(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 | ||
68 | endif | ||
69 | |||
70 | ifeq ($(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 | ||
76 | endif | ||
77 | |||
78 | ifeq ($(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 | ||
84 | endif | ||
85 | |||
86 | ifeq ($(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 | ||
92 | endif | ||
93 | |||
94 | ifeq ($(USEDYNAMIC_LIB), yes) | ||
95 | #presuming ARM executable would depend on dynamic library dependency | ||
96 | EXE_EXTN = _so | ||
97 | LIBS = $(PRUSS_LIB) $(OSAL_LIB) | ||
98 | else | ||
99 | #forcing ARM executable to depend on static LLD libraries | ||
100 | EXE_EXTN = | ||
101 | LIBS = -Wl,-Bstatic $(PRUSS_LIB) $(OSAL_LIB) -Wl,-Bdynamic | ||
102 | endif | ||
103 | |||
104 | |||
105 | # Compiler options | ||
106 | INTERNALDEFS = $(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 | ||
109 | INTERNALLINKDEFS = -Wl,--start-group -L $(ARMV7LIBDIR) $(LIBS) -lrt -Wl,--end-group -pthread $(LDFLAGS) | ||
110 | |||
111 | MAIN_TEST_EXE=pruss_app_sorte_slave$(EXE_EXTN).out | ||
112 | |||
113 | OBJEXT = o | ||
114 | |||
115 | SRCDIR = $(PRUSS_EXAMPLE_SORTE_DIR)/src:$(PRUSS_ARM_LIN_TEST_DIR):$(PRUSS_DEVICE_DIR): | ||
116 | |||
117 | INCS = -I. -I$(strip $(subst ;, -I,$(INCDIR))) | ||
118 | |||
119 | VPATH=$(SRCDIR) | ||
120 | |||
121 | #List the Source Files | ||
122 | OSAL_TEST_SRC = \ | ||
123 | mmap_helper.c \ | ||
124 | pruicss_soc.c | ||
125 | |||
126 | MAIN_TEST_SRC = \ | ||
127 | main.c | ||
128 | |||
129 | # FLAGS for the SourceFiles | ||
130 | SRC_CFLAGS = -I. $(CFLAGS) | ||
131 | |||
132 | # Make Rule for the SRC Files | ||
133 | OSAL_TEST_SRC_OBJS = $(patsubst %.c, $(ARMV7OBJDIR)/%.$(OBJEXT), $(OSAL_TEST_SRC)) | ||
134 | MAIN_TEST_SRC_OBJS = $(patsubst %.c, $(ARMV7OBJDIR)/%.$(OBJEXT), $(MAIN_TEST_SRC)) | ||
135 | |||
136 | all:$(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 | |||
154 | clean: | ||
155 | @rm -fr $(ARMV7OBJDIR) | ||
156 | @rm -fr $(ARMV7BINDIR) | ||
157 | |||