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