]> git.sur5r.net Git - freertos/blob - Demo/PPC405_Xilinx_Virtex4_GCC/system.make
New PPC405 port files.
[freertos] / Demo / PPC405_Xilinx_Virtex4_GCC / system.make
1 #################################################################\r
2 # Makefile generated by Xilinx Platform Studio \r
3 # Project:C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_Xilinx_Virtex4_GCC\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 # C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_Xilinx_Virtex4_GCC\system.mhs\r
9 # The software specification of the system is in file :\r
10 # C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_Xilinx_Virtex4_GCC\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:Generates behavioral HDL models with BRAM initialization"\r
36         @echo "  structural:Generates structural simulation HDL models with BRAM initialization"\r
37         @echo "  timing   : 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 vp: $(VPEXEC)\r
84 \r
85 clean: hwclean libsclean programclean simclean vpclean\r
86         rm -f _impact.cmd\r
87 \r
88 hwclean: netlistclean bitsclean\r
89         rm -rf implementation synthesis xst hdl\r
90         rm -rf xst.srp $(SYSTEM).srp\r
91 \r
92 netlistclean:\r
93         rm -f $(POSTSYN_NETLIST)\r
94         rm -f $(BMM_FILE)\r
95 \r
96 bitsclean:\r
97         rm -f $(SYSTEM_BIT)\r
98         rm -f implementation/$(SYSTEM).ncd\r
99         rm -f implementation/$(SYSTEM)_bd.bmm \r
100 \r
101 bitsclean:\r
102 \r
103 simclean: \r
104         rm -rf simulation/behavioral\r
105 \r
106 swclean: libsclean programclean\r
107         @echo ""\r
108 \r
109 libsclean: $(LIBSCLEAN_TARGETS)\r
110 \r
111 programclean: $(PROGRAMCLEAN_TARGETS)\r
112 \r
113 vpclean:\r
114         rm -rf virtualplatform\r
115 \r
116 #################################################################\r
117 # SOFTWARE PLATFORM FLOW\r
118 #################################################################\r
119 \r
120 \r
121 $(LIBRARIES): $(MHSFILE) $(MSSFILE) __xps/libgen.opt\r
122         @echo "*********************************************"\r
123         @echo "Creating software libraries..."\r
124         @echo "*********************************************"\r
125         libgen $(LIBGEN_OPTIONS) $(MSSFILE)\r
126 \r
127 \r
128 ppc405_0_libsclean:\r
129         rm -rf ppc405_0/lib/\r
130 \r
131 #################################################################\r
132 # SOFTWARE APPLICATION RTOSDEMO\r
133 #################################################################\r
134 \r
135 RTOSDemo_program: $(RTOSDEMO_OUTPUT) \r
136 \r
137 $(RTOSDEMO_OUTPUT) : $(RTOSDEMO_SOURCES) $(RTOSDEMO_HEADERS) $(RTOSDEMO_LINKER_SCRIPT) \\r
138                     $(LIBRARIES) __xps/rtosdemo_compiler.opt\r
139         @mkdir -p $(RTOSDEMO_OUTPUT_DIR) \r
140         $(RTOSDEMO_CC) $(RTOSDEMO_CC_OPT) $(RTOSDEMO_SOURCES) -o $(RTOSDEMO_OUTPUT) \\r
141         $(RTOSDEMO_OTHER_CC_FLAGS) $(RTOSDEMO_INCLUDES) $(RTOSDEMO_LIBPATH) \\r
142         $(RTOSDEMO_CFLAGS) $(RTOSDEMO_LFLAGS) \r
143         $(RTOSDEMO_CC_SIZE) $(RTOSDEMO_OUTPUT) \r
144         @echo ""\r
145 \r
146 RTOSDemo_programclean:\r
147         rm -f $(RTOSDEMO_OUTPUT) \r
148 \r
149 #################################################################\r
150 # BOOTLOOP ELF FILES\r
151 #################################################################\r
152 \r
153 \r
154 \r
155 $(PPC405_0_BOOTLOOP): $(PPC405_BOOTLOOP)\r
156         @mkdir -p $(BOOTLOOP_DIR)\r
157         cp -f $(PPC405_BOOTLOOP) $(PPC405_0_BOOTLOOP)\r
158 \r
159 #################################################################\r
160 # HARDWARE IMPLEMENTATION FLOW\r
161 #################################################################\r
162 \r
163 \r
164 $(BMM_FILE) \\r
165 $(WRAPPER_NGC_FILES): $(MHSFILE) __xps/platgen.opt \\r
166                       $(CORE_STATE_DEVELOPMENT_FILES)\r
167         @echo "****************************************************"\r
168         @echo "Creating system netlist for hardware specification.."\r
169         @echo "****************************************************"\r
170         platgen $(PLATGEN_OPTIONS) $(MHSFILE)\r
171 \r
172 $(POSTSYN_NETLIST): $(WRAPPER_NGC_FILES)\r
173         @echo "Running synthesis..."\r
174         bash -c "cd synthesis; ./synthesis.sh"\r
175 \r
176 $(SYSTEM_BIT): $(FPGA_IMP_DEPENDENCY)\r
177         @echo "*********************************************"\r
178         @echo "Running Xilinx Implementation tools.."\r
179         @echo "*********************************************"\r
180         @cp -f $(UCF_FILE) implementation/$(SYSTEM).ucf\r
181         @cp -f $(XFLOW_OPT_FILE) implementation/xflow.opt\r
182         xflow -wd implementation -p $(DEVICE) -implement xflow.opt $(SYSTEM).ngc\r
183         @echo "*********************************************"\r
184         @echo "Running Bitgen.."\r
185         @echo "*********************************************"\r
186         @cp -f $(BITGEN_UT_FILE) implementation/bitgen.ut\r
187         cd implementation; bitgen -w -f bitgen.ut $(SYSTEM)\r
188 \r
189 exporttopn: \r
190         @echo "You have chosen XPS for implementation tool flow."\r
191         @echo "Please select ProjNav as your implementation flow in Project Options."\r
192         @echo "In batch mode, use commad xset pnproj <nplfile>."\r
193 \r
194 $(DOWNLOAD_BIT): $(SYSTEM_BIT) $(BRAMINIT_ELF_FILES) __xps/bitinit.opt\r
195         @cp -f implementation/$(SYSTEM)_bd.bmm .\r
196         @echo "*********************************************"\r
197         @echo "Initializing BRAM contents of the bitstream"\r
198         @echo "*********************************************"\r
199         bitinit $(MHSFILE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_FILE_ARGS) \\r
200         -bt $(SYSTEM_BIT) -o $(DOWNLOAD_BIT)\r
201         @rm -f $(SYSTEM)_bd.bmm\r
202 \r
203 $(SYSTEM_ACE): $(DOWNLOAD_BIT) $(RTOSDEMO_OUTPUT) \r
204         @echo "*********************************************"\r
205         @echo "Creating system ace file"\r
206         @echo "*********************************************"\r
207         xmd -tcl genace.tcl -jprog -hw $(DOWNLOAD_BIT) -elf $(RTOSDEMO_OUTPUT)  -target ppc_hw  -ace $(SYSTEM_ACE)\r
208 \r
209 #################################################################\r
210 # SIMULATION FLOW\r
211 #################################################################\r
212 \r
213 \r
214 ################## BEHAVIORAL SIMULATION ##################\r
215 \r
216 $(BEHAVIORAL_SIM_SCRIPT): $(MHSFILE) __xps/simgen.opt \\r
217                           $(BRAMINIT_ELF_FILES)\r
218         @echo "*********************************************"\r
219         @echo "Creating behavioral simulation models..."\r
220         @echo "*********************************************"\r
221         simgen $(SIMGEN_OPTIONS) -m behavioral $(MHSFILE)\r
222 \r
223 ################## STRUCTURAL SIMULATION ##################\r
224 \r
225 $(STRUCTURAL_SIM_SCRIPT): $(WRAPPER_NGC_FILES) __xps/simgen.opt \\r
226                           $(BRAMINIT_ELF_FILES)\r
227         @echo "*********************************************"\r
228         @echo "Creating structural simulation models..."\r
229         @echo "*********************************************"\r
230         simgen $(SIMGEN_OPTIONS) -sd implementation -m structural $(MHSFILE)\r
231 \r
232 \r
233 ################## TIMING SIMULATION ##################\r
234 \r
235 $(TIMING_SIM_SCRIPT): $(SYSTEM_BIT) __xps/simgen.opt \\r
236                       $(BRAMINIT_ELF_FILES)\r
237         @echo "*********************************************"\r
238         @echo "Creating timing simulation models..."\r
239         @echo "*********************************************"\r
240         simgen $(SIMGEN_OPTIONS) -sd implementation -m timing $(MHSFILE)\r
241 \r
242 #################################################################\r
243 # VIRTUAL PLATFORM FLOW\r
244 #################################################################\r
245 \r
246 \r
247 $(VPEXEC): $(MHSFILE) __xps/vpgen.opt\r
248         @echo "****************************************************"\r
249         @echo "Creating virtual platform for hardware specification.."\r
250         @echo "****************************************************"\r
251         vpgen $(VPGEN_OPTIONS) $(MHSFILE)\r
252 \r
253 dummy:\r
254         @echo ""\r
255 \r