]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.make
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / PPC405_Xilinx_Virtex4_GCC / system.make
1 #################################################################\r
2 # Makefile generated by Xilinx Platform Studio \r
3 # Project:C:\E\temp\rc\3\V5.0.2\FreeRTOS\Demo\PPC405_Xilinx_Virtex4_GCC\system.xmp\r
4 #\r
5 # WARNING : This file will be re-generated every time a command\r
6 # to run a make target is invoked. So, any changes made to this  \r
7 # file manually, will be lost when make is invoked next. \r
8 #################################################################\r
9 \r
10 # Name of the Microprocessor system\r
11 # The hardware specification of the system is in file :\r
12 # C:\E\temp\rc\3\V5.0.2\FreeRTOS\Demo\PPC405_Xilinx_Virtex4_GCC\system.mhs\r
13 # The software specification of the system is in file :\r
14 # C:\E\temp\rc\3\V5.0.2\FreeRTOS\Demo\PPC405_Xilinx_Virtex4_GCC\system.mss\r
15 \r
16 include system_incl.make\r
17 \r
18 #################################################################\r
19 # PHONY TARGETS\r
20 #################################################################\r
21 .PHONY: dummy\r
22 .PHONY: netlistclean\r
23 .PHONY: bitsclean\r
24 .PHONY: simclean\r
25 .PHONY: vpclean\r
26 \r
27 #################################################################\r
28 # EXTERNAL TARGETS\r
29 #################################################################\r
30 all:\r
31         @echo "Makefile to build a Microprocessor system :"\r
32         @echo "Run make with any of the following targets"\r
33         @echo " "\r
34         @echo "  netlist  : Generates the netlist for the given MHS "\r
35         @echo "  bits     : Runs Implementation tools to generate the bitstream"\r
36         @echo " "\r
37         @echo "  libs     : Configures the sw libraries for this system"\r
38         @echo "  program  : Compiles the program sources for all the processor instances"\r
39         @echo " "\r
40         @echo "  init_bram: Initializes bitstream with BRAM data"\r
41         @echo "  ace      : Generate ace file from bitstream and elf"\r
42         @echo "  download : Downloads the bitstream onto the board"\r
43         @echo " "\r
44         @echo "  sim      : Generates HDL simulation models and runs simulator for chosen simulation mode"\r
45         @echo "  simmodel : Generates HDL simulation models for chosen simulation mode"\r
46         @echo "  behavioral_model : Generates behavioral HDL models with BRAM initialization"\r
47         @echo "  structural_model : Generates structural simulation HDL models with BRAM initialization"\r
48         @echo "  timing   : Generates timing simulation HDL models with BRAM initialization"\r
49         @echo "  vp       : Generates virtual platform model"\r
50         @echo " "\r
51         @echo "  netlistclean: Deletes netlist"\r
52         @echo "  bitsclean: Deletes bit, ncd, bmm files"\r
53         @echo "  hwclean  : Deletes implementation dir"\r
54         @echo "  libsclean: Deletes sw libraries"\r
55         @echo "  programclean: Deletes compiled ELF files"\r
56         @echo "  swclean  : Deletes sw libraries and ELF files"\r
57         @echo "  simclean : Deletes simulation dir"\r
58         @echo "  vpclean  : Deletes virtualplatform dir"\r
59         @echo "  clean    : Deletes all generated files/directories"\r
60         @echo " "\r
61         @echo "  make <target> : (Default)"\r
62         @echo "      Creates a Microprocessor system using default initializations"\r
63         @echo "      specified for each processor in MSS file"\r
64 \r
65 \r
66 bits: $(SYSTEM_BIT)\r
67 \r
68 ace: $(SYSTEM_ACE)\r
69 \r
70 netlist: $(POSTSYN_NETLIST)\r
71 \r
72 libs: $(LIBRARIES)\r
73 \r
74 program: $(ALL_USER_ELF_FILES)\r
75 \r
76 download: $(DOWNLOAD_BIT) dummy\r
77         @echo "*********************************************"\r
78         @echo "Downloading Bitstream onto the target board"\r
79         @echo "*********************************************"\r
80         impact -batch etc/download.cmd\r
81 \r
82 init_bram: $(DOWNLOAD_BIT)\r
83 \r
84 sim: $(DEFAULT_SIM_SCRIPT)\r
85         cd simulation/behavioral; \\r
86         $(SIM_CMD)  &\r
87 \r
88 simmodel: $(DEFAULT_SIM_SCRIPT)\r
89 \r
90 behavioral_model: $(BEHAVIORAL_SIM_SCRIPT)\r
91 \r
92 structural_model: $(STRUCTURAL_SIM_SCRIPT)\r
93 \r
94 vp: $(VPEXEC)\r
95 \r
96 clean: hwclean libsclean programclean simclean vpclean\r
97         rm -f _impact.cmd\r
98         rm -f *.log\r
99 \r
100 hwclean: netlistclean bitsclean\r
101         rm -rf implementation synthesis xst hdl\r
102         rm -rf xst.srp $(SYSTEM).srp\r
103 \r
104 netlistclean:\r
105         rm -f $(POSTSYN_NETLIST)\r
106         rm -f platgen.log\r
107         rm -f $(BMM_FILE)\r
108 \r
109 bitsclean:\r
110         rm -f $(SYSTEM_BIT)\r
111         rm -f implementation/$(SYSTEM).ncd\r
112         rm -f implementation/$(SYSTEM)_bd.bmm \r
113         rm -f implementation/$(SYSTEM)_map.ncd \r
114 \r
115 simclean: \r
116         rm -rf simulation/behavioral\r
117         rm -f simgen.log\r
118 \r
119 swclean: libsclean programclean\r
120         @echo ""\r
121 \r
122 libsclean: $(LIBSCLEAN_TARGETS)\r
123         rm -f libgen.log\r
124 \r
125 programclean: $(PROGRAMCLEAN_TARGETS)\r
126 \r
127 vpclean:\r
128         rm -rf virtualplatform\r
129         rm -f vpgen.log\r
130 \r
131 #################################################################\r
132 # SOFTWARE PLATFORM FLOW\r
133 #################################################################\r
134 \r
135 \r
136 $(LIBRARIES): $(MHSFILE) $(MSSFILE) __xps/libgen.opt\r
137         @echo "*********************************************"\r
138         @echo "Creating software libraries..."\r
139         @echo "*********************************************"\r
140         libgen $(LIBGEN_OPTIONS) $(MSSFILE)\r
141 \r
142 \r
143 ppc405_0_libsclean:\r
144         rm -rf ppc405_0/\r
145 \r
146 #################################################################\r
147 # SOFTWARE APPLICATION RTOSDEMO\r
148 #################################################################\r
149 \r
150 RTOSDemo_program: $(RTOSDEMO_OUTPUT) \r
151 \r
152 $(RTOSDEMO_OUTPUT) : $(RTOSDEMO_SOURCES) $(RTOSDEMO_HEADERS) $(RTOSDEMO_LINKER_SCRIPT) \\r
153                     $(LIBRARIES) __xps/rtosdemo_compiler.opt\r
154         @mkdir -p $(RTOSDEMO_OUTPUT_DIR) \r
155         $(RTOSDEMO_CC) $(RTOSDEMO_CC_OPT) $(RTOSDEMO_SOURCES) -o $(RTOSDEMO_OUTPUT) \\r
156         $(RTOSDEMO_OTHER_CC_FLAGS) $(RTOSDEMO_INCLUDES) $(RTOSDEMO_LIBPATH) \\r
157         $(RTOSDEMO_CFLAGS) $(RTOSDEMO_LFLAGS) \r
158         $(RTOSDEMO_CC_SIZE) $(RTOSDEMO_OUTPUT) \r
159         @echo ""\r
160 \r
161 RTOSDemo_programclean:\r
162         rm -f $(RTOSDEMO_OUTPUT) \r
163 \r
164 #################################################################\r
165 # BOOTLOOP ELF FILES\r
166 #################################################################\r
167 \r
168 \r
169 \r
170 $(PPC405_0_BOOTLOOP): $(PPC405_BOOTLOOP)\r
171         @mkdir -p $(BOOTLOOP_DIR)\r
172         cp -f $(PPC405_BOOTLOOP) $(PPC405_0_BOOTLOOP)\r
173 \r
174 #################################################################\r
175 # HARDWARE IMPLEMENTATION FLOW\r
176 #################################################################\r
177 \r
178 \r
179 $(BMM_FILE) \\r
180 $(WRAPPER_NGC_FILES): $(MHSFILE) __xps/platgen.opt \\r
181                       $(CORE_STATE_DEVELOPMENT_FILES)\r
182         @echo "****************************************************"\r
183         @echo "Creating system netlist for hardware specification.."\r
184         @echo "****************************************************"\r
185         platgen $(PLATGEN_OPTIONS) $(MHSFILE)\r
186 \r
187 $(POSTSYN_NETLIST): $(WRAPPER_NGC_FILES)\r
188         @echo "Running synthesis..."\r
189         bash -c "cd synthesis; ./synthesis.sh"\r
190 \r
191 __xps/$(SYSTEM)_routed: $(FPGA_IMP_DEPENDENCY)\r
192         @echo "*********************************************"\r
193         @echo "Running Xilinx Implementation tools.."\r
194         @echo "*********************************************"\r
195         @cp -f $(UCF_FILE) implementation/$(SYSTEM).ucf\r
196         xilperl $(NON_CYG_XILINX_EDK_DIR)/data/fpga_impl/manage_fastruntime_opt.pl $(MANAGE_FASTRT_OPTIONS)\r
197         xflow -wd implementation -p $(DEVICE) -implement xflow.opt $(SYSTEM).ngc\r
198         touch __xps/$(SYSTEM)_routed\r
199 \r
200 $(SYSTEM_BIT): __xps/$(SYSTEM)_routed\r
201         xilperl $(NON_CYG_XILINX_EDK_DIR)/data/fpga_impl/observe_par.pl $(OBSERVE_PAR_OPTIONS) implementation/$(SYSTEM).par\r
202         @echo "*********************************************"\r
203         @echo "Running Bitgen.."\r
204         @echo "*********************************************"\r
205         @cp -f $(BITGEN_UT_FILE) implementation/bitgen.ut\r
206         cd implementation; bitgen -w -f bitgen.ut $(SYSTEM)\r
207 \r
208 $(DOWNLOAD_BIT): $(SYSTEM_BIT) $(BRAMINIT_ELF_FILES) __xps/bitinit.opt\r
209         # @cp -f implementation/$(SYSTEM)_bd.bmm .\r
210         @echo "*********************************************"\r
211         @echo "Initializing BRAM contents of the bitstream"\r
212         @echo "*********************************************"\r
213         bitinit $(MHSFILE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_FILE_ARGS) \\r
214         -bt $(SYSTEM_BIT) -o $(DOWNLOAD_BIT)\r
215         @rm -f $(SYSTEM)_bd.bmm\r
216 \r
217 $(SYSTEM_ACE): $(DOWNLOAD_BIT) $(RTOSDEMO_OUTPUT) \r
218         @echo "*********************************************"\r
219         @echo "Creating system ace file"\r
220         @echo "*********************************************"\r
221         xmd -tcl genace.tcl -jprog -hw $(DOWNLOAD_BIT) -elf $(RTOSDEMO_OUTPUT)  -target ppc_hw  -ace $(SYSTEM_ACE)\r
222 \r
223 #################################################################\r
224 # SIMULATION FLOW\r
225 #################################################################\r
226 \r
227 \r
228 ################## BEHAVIORAL SIMULATION ##################\r
229 \r
230 $(BEHAVIORAL_SIM_SCRIPT): $(MHSFILE) __xps/simgen.opt \\r
231                           $(BRAMINIT_ELF_FILES)\r
232         @echo "*********************************************"\r
233         @echo "Creating behavioral simulation models..."\r
234         @echo "*********************************************"\r
235         simgen $(SIMGEN_OPTIONS) -m behavioral $(MHSFILE)\r
236 \r
237 ################## STRUCTURAL SIMULATION ##################\r
238 \r
239 $(STRUCTURAL_SIM_SCRIPT): $(WRAPPER_NGC_FILES) __xps/simgen.opt \\r
240                           $(BRAMINIT_ELF_FILES)\r
241         @echo "*********************************************"\r
242         @echo "Creating structural simulation models..."\r
243         @echo "*********************************************"\r
244         simgen $(SIMGEN_OPTIONS) -sd implementation -m structural $(MHSFILE)\r
245 \r
246 \r
247 ################## TIMING SIMULATION ##################\r
248 \r
249 $(TIMING_SIM_SCRIPT): $(SYSTEM_BIT) __xps/simgen.opt \\r
250                       $(BRAMINIT_ELF_FILES)\r
251         @echo "*********************************************"\r
252         @echo "Creating timing simulation models..."\r
253         @echo "*********************************************"\r
254         simgen $(SIMGEN_OPTIONS) -sd implementation -m timing $(MHSFILE)\r
255 \r
256 #################################################################\r
257 # VIRTUAL PLATFORM FLOW\r
258 #################################################################\r
259 \r
260 \r
261 $(VPEXEC): $(MHSFILE) __xps/vpgen.opt\r
262         @echo "****************************************************"\r
263         @echo "Creating virtual platform for hardware specification.."\r
264         @echo "****************************************************"\r
265         vpgen $(VPGEN_OPTIONS) $(MHSFILE)\r
266 \r
267 dummy:\r
268         @echo ""\r
269 \r