Add comments and tiny improvements to STM32 flash loader algorithm
[openocd.git] / src / server / httpd / targets.tcl
1 # converted to .tcl by html2tcl.tcl
2 set buffer ""
3 append buffer {
4
5
6
7
8
9
10
11
12 <html xmlns="http://www.w3.org/TR/REC-html40">
13 <head>
14 <title>OpenOCD debugger</title>
15 <meta charset="utf-8" content="text/html" http-equiv="Content-Type"/>
16 <link type="text/css" rel="stylesheet" href="menuweb.css"/>
17 </head>
18 }
19
20 set console ""
21 set upload_filename /ram/upload
22
23 append buffer {
24 <body style="margin:0px;">
25 <div style="width:974px;height:85px;">
26 <div style="float:left;position:relative;left:32px;width:478px;">
27 <a href="/">
28 OpenOCD
29 </a>
30 </div>
31 <div style="float:left;position:relative;height:26px; width:278px;left:122px;background-image:url('menu_cuts/top_right.png');">
32 <div style="position:relative;left:15px;top:4px;" class="textlight">
33 }
34 append buffer [capture version]
35 append buffer {
36 </div>
37 </div>
38 </div>
39 <table style="padding:0px;border-collapse:collapse;">
40 <tr>
41 <td style="width:33px;">
42 <div style="width:20px;height:510px;">
43 &nbsp;
44 </div>
45 </td>
46 <td style="vertical-align:top;height:100%;width:140px;padding:0px;">
47 <table style="padding:0px;border-collapse:collapse;height:100%;width:140px;">
48 <tr style="height:59px;">
49 <td/>
50 </tr>
51 <tr>
52 <td style="width:140px;height:35px;background-image:url('menu_cuts/v_1.png')"/>
53 </tr>
54 <tr>
55 <td style="width:140px;background-image:url('menu_cuts/v_2_tile.png')"/>
56 </tr>
57 <tr>
58 <td style="width:140px;height:140px;background-image:url('menu_cuts/v_3.png')"/>
59 </tr>
60 </table>
61 </td>
62 <td style="vertical-align:top;padding:0px;height:100%">
63 <table style="padding:0px;border-collapse:collapse;height:100%;">
64 <tr>
65 <td>
66 <table style="padding:0px;border-collapse:collapse;">
67 <tr>
68 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
69 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
70 <a href="index.tcl">Config Target</a>
71 </div>
72 </td>
73 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
74 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
75 <a href="flashinfo.tcl">Flash</a>
76 </div>
77 </td>
78 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
79 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
80 <a href="browsemem.tcl">Memory</a>
81 </div>
82 </td>
83 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
84 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
85 <a href="openocd.tcl">OpenOCD</a>
86 </div>
87 </td>
88 </tr>
89 </table>
90 </td>
91 </tr>
92 <tr>
93 <td style="height:30px;width:535px;background-image:url('menu_cuts/center_top.png');background-repeat: no-repeat;background-position:top right;" colspan="6">
94 <div style="width:500px;background-color:#ffffff;height:100%;">
95 &nbsp;
96 </div>
97 </td>
98 </tr>
99 <tr>
100 <td style="background-color:#ffffff;text-indent:30px;height:40px;" colspan="6">
101 <H1>Target config quick start guide</H1>
102 </td>
103 </tr>
104 <tr style="height:100%;">
105 <td style="background-color:#ffffff;padding-left:30px;padding-right:30px;width=535px;height:100%;" colspan="6">
106
107 A target needs an openocd.cfg file. This config file sets up
108 the CPU, flash and reset init script. Either OpenOCD ships with an
109 openocd.cfg file for your target or you need to take an existing
110 config file and modify it for your needs.
111 <p>
112 The reset init script is crucial. It will set up e.g. MMU, chip
113 select registers, etc. after a reset. The init.cfg (reset init script)
114 is embedded into the openocd.cfg file in the sampls OpenOCD provides.
115 <p>
116 Writing an openocd.cfg from scratch is a non-trivial exercise, but
117 fortunally it only has to be done once for a target and afterwards it
118 rarely if ever needs to be changed.
119
120
121 </td>
122 </tr>
123 }
124
125
126 set toggle_details [formfetch toggle_details]
127 if {[string length $toggle_details]==0} {
128 set toggle_details 0
129 }
130 set show_details [load_var show_details]
131 if {[string length $show_details]==0} {
132 set show_details 0
133 }
134 if {$toggle_details==1} {
135 set show_details [expr 1-$show_details]
136 save_var show_details $show_details
137 }
138
139 if {[string length $console]!=0} {
140
141 append buffer {
142 <tr style="height:100%;">
143 <td style="height:100%;background-color:red;" colspan="6">
144 <table style="padding:0px;border-collapse:collapse;background-color:#ffffff;width:100%" class="textgray">
145 <td style="width:25px;">&nbsp;</td>
146 }
147
148 if {$show_details==1} {
149 append buffer <
150 append buffer {td style="background-color:#dddddd;padding-left:5px;padding-right:5px;padding-top:3px;padding-bottom:3px;"}
151 append buffer >
152 } else {
153 append buffer <
154 append buffer {td style="background-image:url('menu_cuts/h_tab_free.png');width:110px;height:29px;background-repeat: no-repeat;background-position:top left;"}
155 append buffer >
156 }
157
158 append buffer {
159 <a class="openocd" href="targets.tcl?toggle_details=1">
160 }
161
162 if {$show_details==1} {
163 append buffer "Hide details"
164 append buffer <br/>
165 } else {
166 append buffer {<div style="position:relative;top:7px;text-align:center;">}
167 append buffer "Show details"
168 append buffer {</div>}
169 }
170
171 append buffer {
172 </a>
173 }
174
175 if {$show_details==1} {
176 append buffer $console
177 }
178
179 append buffer {</td>}
180
181 if {$show_details!=1} {
182 append buffer {<td>&nbsp;</td>}
183 }
184
185 append buffer {
186 <td style="width:25px;">&nbsp;</td>
187 </table>
188 </td>
189 </tr>
190 }
191
192 }
193
194 append buffer {
195 <tr>
196 <td style="height:30px;background-image:url('menu_cuts/center_bottom.png');background-repeat: no-repeat;background-position:top right;" colspan="6">
197 <div style="width:500px;background-color:#ffffff;height:100%;">
198 &nbsp;
199 </div>
200 </td>
201 </tr>
202 </table>
203 </td>
204 <td style="width:6px;"/>
205 <td style="width:245px;height:100%">
206 <table style="padding:0px;border-collapse:collapse;height:100%;">
207 <tr>
208 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab2_selected.png');background-repeat: no-repeat;">
209 <div style="position:relative;top:7px;;font-weight:bold;text-align:center;width:100px;" class="textgray">
210 Documentation
211 </div>
212 </td>
213 <td width="40px">
214 &nbsp;
215 </td>
216 <td/>
217 </tr>
218 <tr>
219 <td style="height:10px;width:245px;background-image:url('menu_cuts/right_top_small.png');" colspan="3"/>
220 </tr>
221 <tr>
222 <td style="background-color:#d8d7d7;width:245px;padding-left:10px;padding-buttom:10px;line-height:17px;" colspan="3">
223 <a target="_blank" href="http://openocd.berlios.de/doc/openocd.pdf">OpenOCD Manual</a>
224 <br/>
225 </td>
226 </tr>
227 <tr>
228 <td style="background-color:#d8d7d7;height:15px;" colspan="3"/>
229 </tr>
230 <tr>
231 <td colspan="3">
232 <table style="padding:0px;border-collapse:collapse;">
233 <td style="background-color:#d8d7d7;width:10px;height:1px"/>
234 <td style="background-color:#999999;width:225px; height:1px;"/>
235 <td style="background-color:#d8d7d7;width:10px;height:1px"/>
236 </table>
237 </td>
238 </tr>
239 <tr>
240 <td style="background-color:#d8d7d7;height:15px;" colspan="3"/>
241 </tr>
242 <tr style="height:100%;">
243 <td style="height:100%;background-color:#d8d7d7;padding-left:10px;padding-right:10px;" colspan="3" class="textgray">
244
245 Quick start guide on how to configure a target.
246 </td>
247 </tr>
248 <tr>
249 <td style="height:30px;background-image:url('menu_cuts/right_bottom.png');" colspan="3">
250 &nbsp;
251 </td>
252 </tr>
253 </table>
254 </td>
255 </tr>
256 </table>
257 </body>
258 </html>
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297 <html xmlns="http://www.w3.org/TR/REC-html40">
298 <head>
299 <title>OpenOCD debugger</title>
300 <meta charset="utf-8" content="text/html" http-equiv="Content-Type"/>
301 <link type="text/css" rel="stylesheet" href="menuweb.css"/>
302 </head>
303 }
304
305 set console ""
306 set upload_filename /ram/upload
307
308 append buffer {
309 <body style="margin:0px;">
310 <div style="width:974px;height:85px;">
311 <div style="float:left;position:relative;left:32px;width:478px;">
312 <a href="/">
313 OpenOCD
314 </a>
315 </div>
316 <div style="float:left;position:relative;height:26px; width:278px;left:122px;background-image:url('menu_cuts/top_right.png');">
317 <div style="position:relative;left:15px;top:4px;" class="textlight">
318 }
319 append buffer [capture version]
320 append buffer {
321 </div>
322 </div>
323 </div>
324 <table style="padding:0px;border-collapse:collapse;">
325 <tr>
326 <td style="width:33px;">
327 <div style="width:20px;height:510px;">
328 &nbsp;
329 </div>
330 </td>
331 <td style="vertical-align:top;height:100%;width:140px;padding:0px;">
332 <table style="padding:0px;border-collapse:collapse;height:100%;width:140px;">
333 <tr style="height:59px;">
334 <td/>
335 </tr>
336 <tr>
337 <td style="width:140px;height:35px;background-image:url('menu_cuts/v_1.png')"/>
338 </tr>
339 <tr>
340 <td style="width:140px;background-image:url('menu_cuts/v_2_tile.png')"/>
341 </tr>
342 <tr>
343 <td style="width:140px;height:140px;background-image:url('menu_cuts/v_3.png')"/>
344 </tr>
345 </table>
346 </td>
347 <td style="vertical-align:top;padding:0px;height:100%">
348 <table style="padding:0px;border-collapse:collapse;height:100%;">
349 <tr>
350 <td>
351 <table style="padding:0px;border-collapse:collapse;">
352 <tr>
353 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
354 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
355 <a href="index.tcl">Config Target</a>
356 </div>
357 </td>
358 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
359 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
360 <a href="flashinfo.tcl">Flash</a>
361 </div>
362 </td>
363 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
364 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
365 <a href="browsemem.tcl">Memory</a>
366 </div>
367 </td>
368 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
369 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
370 <a href="openocd.tcl">OpenOCD</a>
371 </div>
372 </td>
373 </tr>
374 </table>
375 </td>
376 </tr>
377 <tr>
378 <td style="height:30px;width:535px;background-image:url('menu_cuts/center_top.png');background-repeat: no-repeat;background-position:top right;" colspan="6">
379 <div style="width:500px;background-color:#ffffff;height:100%;">
380 &nbsp;
381 </div>
382 </td>
383 </tr>
384 <tr>
385 <td style="background-color:#ffffff;text-indent:30px;height:40px;" colspan="6">
386 <H1>Target config quick start guide</H1>
387 </td>
388 </tr>
389 <tr style="height:100%;">
390 <td style="background-color:#ffffff;padding-left:30px;padding-right:30px;width=535px;height:100%;" colspan="6">
391
392 A target needs an openocd.cfg file. This config file sets up
393 the CPU, flash and reset init script. Either OpenOCD ships with an
394 openocd.cfg file for your target or you need to take an existing
395 config file and modify it for your needs.
396 <p>
397 The reset init script is crucial. It will set up e.g. MMU, chip
398 select registers, etc. after a reset. The init.cfg (reset init script)
399 is embedded into the openocd.cfg file in the sampls OpenOCD provides.
400 <p>
401 Writing an openocd.cfg from scratch is a non-trivial exercise, but
402 fortunally it only has to be done once for a target and afterwards it
403 rarely if ever needs to be changed.
404
405
406 </td>
407 </tr>
408 }
409
410
411 set toggle_details [formfetch toggle_details]
412 if {[string length $toggle_details]==0} {
413 set toggle_details 0
414 }
415 set show_details [load_var show_details]
416 if {[string length $show_details]==0} {
417 set show_details 0
418 }
419 if {$toggle_details==1} {
420 set show_details [expr 1-$show_details]
421 save_var show_details $show_details
422 }
423
424 if {[string length $console]!=0} {
425
426 append buffer {
427 <tr style="height:100%;">
428 <td style="height:100%;background-color:red;" colspan="6">
429 <table style="padding:0px;border-collapse:collapse;background-color:#ffffff;width:100%" class="textgray">
430 <td style="width:25px;">&nbsp;</td>
431 }
432
433 if {$show_details==1} {
434 append buffer <
435 append buffer {td style="background-color:#dddddd;padding-left:5px;padding-right:5px;padding-top:3px;padding-bottom:3px;"}
436 append buffer >
437 } else {
438 append buffer <
439 append buffer {td style="background-image:url('menu_cuts/h_tab_free.png');width:110px;height:29px;background-repeat: no-repeat;background-position:top left;"}
440 append buffer >
441 }
442
443 append buffer {
444 <a class="openocd" href="targets.tcl?toggle_details=1">
445 }
446
447 if {$show_details==1} {
448 append buffer "Hide details"
449 append buffer <br/>
450 } else {
451 append buffer {<div style="position:relative;top:7px;text-align:center;">}
452 append buffer "Show details"
453 append buffer {</div>}
454 }
455
456 append buffer {
457 </a>
458 }
459
460 if {$show_details==1} {
461 append buffer $console
462 }
463
464 append buffer {</td>}
465
466 if {$show_details!=1} {
467 append buffer {<td>&nbsp;</td>}
468 }
469
470 append buffer {
471 <td style="width:25px;">&nbsp;</td>
472 </table>
473 </td>
474 </tr>
475 }
476
477 }
478
479 append buffer {
480 <tr>
481 <td style="height:30px;background-image:url('menu_cuts/center_bottom.png');background-repeat: no-repeat;background-position:top right;" colspan="6">
482 <div style="width:500px;background-color:#ffffff;height:100%;">
483 &nbsp;
484 </div>
485 </td>
486 </tr>
487 </table>
488 </td>
489 <td style="width:6px;"/>
490 <td style="width:245px;height:100%">
491 <table style="padding:0px;border-collapse:collapse;height:100%;">
492 <tr>
493 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab2_selected.png');background-repeat: no-repeat;">
494 <div style="position:relative;top:7px;;font-weight:bold;text-align:center;width:100px;" class="textgray">
495 Documentation
496 </div>
497 </td>
498 <td width="40px">
499 &nbsp;
500 </td>
501 <td/>
502 </tr>
503 <tr>
504 <td style="height:10px;width:245px;background-image:url('menu_cuts/right_top_small.png');" colspan="3"/>
505 </tr>
506 <tr>
507 <td style="background-color:#d8d7d7;width:245px;padding-left:10px;padding-buttom:10px;line-height:17px;" colspan="3">
508 <a target="_blank" href="http://openocd.berlios.de/doc/openocd.pdf">OpenOCD Manual</a>
509 <br/>
510 </td>
511 </tr>
512 <tr>
513 <td style="background-color:#d8d7d7;height:15px;" colspan="3"/>
514 </tr>
515 <tr>
516 <td colspan="3">
517 <table style="padding:0px;border-collapse:collapse;">
518 <td style="background-color:#d8d7d7;width:10px;height:1px"/>
519 <td style="background-color:#999999;width:225px; height:1px;"/>
520 <td style="background-color:#d8d7d7;width:10px;height:1px"/>
521 </table>
522 </td>
523 </tr>
524 <tr>
525 <td style="background-color:#d8d7d7;height:15px;" colspan="3"/>
526 </tr>
527 <tr style="height:100%;">
528 <td style="height:100%;background-color:#d8d7d7;padding-left:10px;padding-right:10px;" colspan="3" class="textgray">
529
530 Quick start guide on how to configure a target.
531 </td>
532 </tr>
533 <tr>
534 <td style="height:30px;background-image:url('menu_cuts/right_bottom.png');" colspan="3">
535 &nbsp;
536 </td>
537 </tr>
538 </table>
539 </td>
540 </tr>
541 </table>
542 </body>
543 </html>
544
545
546
547
548
549
550
551
552
553
554
555 }
556
557 start_chunked "html"
558 write_chunked $buffer
559 end_chunked
560