diff options
author | Tinku Mannan | 2018-07-31 16:54:01 -0500 |
---|---|---|
committer | Tinku Mannan | 2018-07-31 16:54:01 -0500 |
commit | 9145daffac02e3e9d66475e08a671c2124afab7c (patch) | |
tree | 10301138cd88a5f45cbdd01f0267895ebe7023c7 /example/apps/sorte/master/makefile_armv7 | |
parent | 661dfc321c017fba2157138406a8eaf3e97a02cb (diff) | |
parent | a11714517887bda62fab76941f2f32207fad2b05 (diff) | |
download | pruss-lld-9145daffac02e3e9d66475e08a671c2124afab7c.tar.gz pruss-lld-9145daffac02e3e9d66475e08a671c2124afab7c.tar.xz pruss-lld-9145daffac02e3e9d66475e08a671c2124afab7c.zip |
Merge branch 'master' into rtos-next-merge
Diffstat (limited to 'example/apps/sorte/master/makefile_armv7')
-rw-r--r-- | example/apps/sorte/master/makefile_armv7 | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/example/apps/sorte/master/makefile_armv7 b/example/apps/sorte/master/makefile_armv7 new file mode 100644 index 0000000..0e3ee75 --- /dev/null +++ b/example/apps/sorte/master/makefile_armv7 | |||
@@ -0,0 +1,151 @@ | |||
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/master | ||
13 | ARMV7BINDIR := $(ARMV7BINDIR)/pruss/example/apps/sorte/master | ||
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_master_PRU0.bin | ||
51 | endif | ||
52 | |||
53 | ifeq ($(DEVICE), am572x) | ||
54 | TARGET = SOC_AM572x | ||
55 | BOARD = idkAM572x | ||
56 | FW_LNK_CMD = $(FW_LNK_CMD_REV2) | ||
57 | FW_LIB_PRU0 = $(FW_BIN_PATH_A15)/sorte_master_PRU0.bin | ||
58 | endif | ||
59 | |||
60 | ifeq ($(DEVICE), am574x) | ||
61 | TARGET = SOC_AM574x | ||
62 | BOARD = idkAM574x | ||
63 | FW_LNK_CMD = $(FW_LNK_CMD_REV2) | ||
64 | FW_LIB_PRU0 = $(FW_BIN_PATH_A15)/sorte_master_PRU0.bin | ||
65 | endif | ||
66 | |||
67 | ifeq ($(DEVICE), am335x) | ||
68 | TARGET = SOC_AM335x | ||
69 | BOARD = icev2AM335x | ||
70 | FW_LNK_CMD = $(FW_LNK_CMD_REV1) | ||
71 | FW_LIB_PRU0 = $(FW_BIN_PATH_A8)/sorte_master_PRU0.bin | ||
72 | endif | ||
73 | |||
74 | ifeq ($(DEVICE), am437x) | ||
75 | TARGET = SOC_AM437x | ||
76 | BOARD = idkAM437x | ||
77 | FW_LNK_CMD = $(FW_LNK_CMD_REV1) | ||
78 | FW_LIB_PRU0 = $(FW_BIN_PATH_A9)/sorte_master_PRU0.bin | ||
79 | endif | ||
80 | |||
81 | ifeq ($(DEVICE), k2g) | ||
82 | TARGET = SOC_K2G | ||
83 | BOARD = iceK2G | ||
84 | FW_LNK_CMD = $(FW_LNK_CMD_REV2) | ||
85 | FW_LIB_PRU0 = $(FW_BIN_PATH_A15)/sorte_master_PRU0.bin | ||
86 | endif | ||
87 | |||
88 | ifeq ($(USEDYNAMIC_LIB), yes) | ||
89 | #presuming ARM executable would depend on dynamic library dependency | ||
90 | EXE_EXTN = _so | ||
91 | LIBS = $(PRUSS_LIB) $(OSAL_LIB) | ||
92 | else | ||
93 | #forcing ARM executable to depend on static LLD libraries | ||
94 | EXE_EXTN = | ||
95 | LIBS = -Wl,-Bstatic $(PRUSS_LIB) $(OSAL_LIB) -Wl,-Bdynamic | ||
96 | endif | ||
97 | |||
98 | |||
99 | # Compiler options | ||
100 | 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_MASTER | ||
101 | |||
102 | # Linker options | ||
103 | INTERNALLINKDEFS = -Wl,--start-group -L $(ARMV7LIBDIR) $(LIBS) -lrt -Wl,--end-group -pthread $(LDFLAGS) | ||
104 | |||
105 | MAIN_TEST_EXE=pruss_app_sorte_master$(EXE_EXTN).out | ||
106 | |||
107 | OBJEXT = o | ||
108 | |||
109 | SRCDIR = $(PRUSS_EXAMPLE_SORTE_DIR)/src:$(PRUSS_ARM_LIN_TEST_DIR):$(PRUSS_DEVICE_DIR): | ||
110 | |||
111 | INCS = -I. -I$(strip $(subst ;, -I,$(INCDIR))) | ||
112 | |||
113 | VPATH=$(SRCDIR) | ||
114 | |||
115 | #List the Source Files | ||
116 | OSAL_TEST_SRC = \ | ||
117 | mmap_helper.c \ | ||
118 | pruicss_soc.c | ||
119 | |||
120 | MAIN_TEST_SRC = \ | ||
121 | main.c | ||
122 | |||
123 | # FLAGS for the SourceFiles | ||
124 | SRC_CFLAGS = -I. $(CFLAGS) | ||
125 | |||
126 | # Make Rule for the SRC Files | ||
127 | OSAL_TEST_SRC_OBJS = $(patsubst %.c, $(ARMV7OBJDIR)/%.$(OBJEXT), $(OSAL_TEST_SRC)) | ||
128 | MAIN_TEST_SRC_OBJS = $(patsubst %.c, $(ARMV7OBJDIR)/%.$(OBJEXT), $(MAIN_TEST_SRC)) | ||
129 | |||
130 | all:$(ARMV7BINDIR)/$(MAIN_TEST_EXE) | ||
131 | |||
132 | $(ARMV7BINDIR)/$(MAIN_TEST_EXE): $(MAIN_TEST_SRC_OBJS) $(OSAL_TEST_SRC_OBJS) $(ARMV7BINDIR)/.created | ||
133 | @echo linking $(MAIN_TEST_SRC_OBJS) $(OSAL_TEST_SRC_OBJS) ${FW_LIB_PRU0} ${FW_LNK_CMD} into $@ ... | ||
134 | @$(CC) $(MAIN_TEST_SRC_OBJS) $(OSAL_TEST_SRC_OBJS) ${FW_LIB_PRU0} ${FW_LNK_CMD} $(INTERNALLINKDEFS) -o $@ | ||
135 | |||
136 | $(ARMV7OBJDIR)/%.$(OBJEXT): %.c $(ARMV7OBJDIR)/.created | ||
137 | @echo compiling $< ... | ||
138 | @$(CC) -c $(SRC_CFLAGS) $(INTERNALDEFS) $(INCS) $< -o $@ | ||
139 | |||
140 | $(ARMV7OBJDIR)/.created: | ||
141 | @mkdir -p $(ARMV7OBJDIR) | ||
142 | @touch $(ARMV7OBJDIR)/.created | ||
143 | |||
144 | $(ARMV7BINDIR)/.created: | ||
145 | @mkdir -p $(ARMV7BINDIR) | ||
146 | @touch $(ARMV7BINDIR)/.created | ||
147 | |||
148 | clean: | ||
149 | @rm -fr $(ARMV7OBJDIR) | ||
150 | @rm -fr $(ARMV7BINDIR) | ||
151 | |||