server: rely on ctrl-c to stop openocd
[fw/openocd] / src / server / httpd / downloadmem.tcl
1 # converted to .tcl by html2tcl.tcl
2 set buffer ""
3 append buffer {
4         
5         
6
7                 
8                 
9                 
10
11
12                 
13
14
15
16                 
17                 
18
19                 
20
21
22
23
24                 
25
26
27
28                 
29
30
31                 
32
33
34                 
35
36                 
37
38
39                 <html xmlns="http://www.w3.org/TR/REC-html40">
40 <head>
41 <title>OpenOCD debugger</title>
42 <meta charset="utf-8" content="text/html" http-equiv="Content-Type"/>
43 <link type="text/css" rel="stylesheet" href="menuweb.css"/>
44 </head>
45 }
46
47                                 set console ""
48                                 set upload_filename /ram/upload
49                         
50 append buffer {
51 <body style="margin:0px;">
52 <div style="width:974px;height:85px;">
53 <div style="float:left;position:relative;left:32px;width:478px;">
54 <a href="/">
55                                                         OpenOCD
56                                                 </a>
57 </div>
58 <div style="float:left;position:relative;height:26px; width:278px;left:122px;background-image:url('menu_cuts/top_right.png');">
59 <div style="position:relative;left:15px;top:4px;" class="textlight">
60 }
61 append buffer [capture version]
62 append buffer {
63 </div>
64 </div>
65 </div>
66 <table style="padding:0px;border-collapse:collapse;">
67 <tr>
68 <td style="width:33px;">
69 <div style="width:20px;height:510px;">
70                                                                 &nbsp;
71                                                         </div>
72 </td>
73 <td style="vertical-align:top;height:100%;width:140px;padding:0px;">
74 <table style="padding:0px;border-collapse:collapse;height:100%;width:140px;">
75 <tr style="height:59px;">
76 <td/>
77 </tr>
78 <tr>
79 <td style="width:140px;height:38px;background-image:url('menu_cuts/v_tab.png');background-repeat: no-repeat;">
80 <div style="position:relative;left:10px;top:10px;font-weight:bold;">
81 <a href="browsemem.tcl" style="">Browse / Edit</a>
82 </div>
83 </td>
84 </tr>
85 <tr>
86 <td style="width:140px;height:38px;background-image:url('menu_cuts/v_tab_selected.png');background-repeat: no-repeat;">
87 <div style="position:relative;left:10px;top:10px;font-weight:bold;">
88 <a href="downloadmem.tcl" style="font-weight: bold;">Download</a>
89 </div>
90 </td>
91 </tr>
92 <tr>
93 <td style="width:140px;height:35px;background-image:url('menu_cuts/v_1.png')"/>
94 </tr>
95 <tr>
96 <td style="width:140px;background-image:url('menu_cuts/v_2_tile.png')"/>
97 </tr>
98 <tr>
99 <td style="width:140px;height:140px;background-image:url('menu_cuts/v_3.png')"/>
100 </tr>
101 </table>
102 </td>
103 <td style="vertical-align:top;padding:0px;height:100%">
104 <table style="padding:0px;border-collapse:collapse;height:100%;">
105 <tr>
106 <td>
107 <table style="padding:0px;border-collapse:collapse;">
108 <tr>
109 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
110 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
111 <a href="index.tcl">Config Target</a>
112 </div>
113 </td>
114 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
115 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
116 <a href="flashinfo.tcl">Flash</a>
117 </div>
118 </td>
119 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1_selected.png');background-repeat: no-repeat;">
120 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
121 <a href="browsemem.tcl" style="font-weight: bold;">Memory</a>
122 </div>
123 </td>
124 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
125 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
126 <a href="openocd.tcl">OpenOCD</a>
127 </div>
128 </td>
129 </tr>
130 </table>
131 </td>
132 </tr>
133 <tr>
134 <td style="height:30px;width:535px;background-image:url('menu_cuts/center_top.png');background-repeat: no-repeat;background-position:top right;" colspan="6">
135 <div style="width:500px;background-color:#ffffff;height:100%;">
136                                                                                         &nbsp;
137                                                                                 </div>
138 </td>
139 </tr>
140 <tr>
141 <td style="background-color:#ffffff;text-indent:30px;height:40px;" colspan="6">
142 <H1>Download Memory Range</H1>
143 </td>
144 </tr>
145 <tr style="height:100%;">
146 <td style="background-color:#ffffff;padding-left:30px;padding-right:30px;width=535px;height:100%;" colspan="6">
147                         }
148
149                                 set form_address [formfetch form_address]
150                                 set form_length [formfetch form_length]
151                                 set form_action [formfetch form_action]
152                         
153 append buffer {                 
154                         <form action="downloadmem.tcl" method="post"> 
155                                 <table>
156                                 <tr><td class="formtext">Address</td><td><input type="text" name="form_address" value="}
157 append buffer $form_address
158 append buffer {"></td></tr>
159                                 <tr><td class="formtext">Length</td><td><input type="text" name="form_length" value="}
160 append buffer $form_length
161 append buffer {"></td></tr>
162                                 </td></tr>
163                                 </table>
164
165                                 <table>
166                                         <tr><td style="height:15px;width:535px;">&nbsp</td></tr>
167                                         <tr><td style="height:1px;width:535px;background-color:#a2c5d1;"></td></tr>
168                                         <tr><td style="height:15px;width:535px;">&nbsp</td></tr>
169                                 </table>
170                         
171                                 <input type="submit" value="Download" name="form_action">
172                                 
173                                 
174                         </form>
175                         }
176
177                                 if {[string compare $form_action "Download"]==0} {
178                                         append console [encode [capture_catch "reset init"]]
179                                         append console [encode [capture_catch "dump_image /tmp/dump.bin $form_address $form_length"]]
180                                         
181 append buffer {
182                                         <form action="../dump.bin" target="_blank"> 
183                                                 <input type="submit" name="form_action" value="Save downloaded memory">
184                                         </form>
185                                         }
186  
187                                 }
188                                 
189                         
190 append buffer {
191
192
193                         
194                         </td>
195 </tr>
196 }
197
198                                                                         
199                                                                         set toggle_details [formfetch toggle_details]
200                                                                         if {[string length $toggle_details]==0} {
201                                                                                 set toggle_details 0
202                                                                         }
203                                                                         set show_details [load_var show_details]
204                                                                         if {[string length $show_details]==0} {
205                                                                                 set show_details 0
206                                                                         }
207                                                                         if {$toggle_details==1} {
208                                                                                 set show_details [expr 1-$show_details]
209                                                                                 save_var show_details $show_details
210                                                                         }
211                                                                         
212                                                                         if {[string length $console]!=0} {
213                                                                                 
214 append buffer {
215 <tr style="height:100%;">
216 <td style="height:100%;background-color:red;" colspan="6">
217 <table style="padding:0px;border-collapse:collapse;background-color:#ffffff;width:100%" class="textgray">
218 <td style="width:25px;">&nbsp;</td>
219 }
220
221                                                                                                                 if {$show_details==1} {
222                                                                                                                         append buffer <
223                                                                                                                         append buffer {td style="background-color:#dddddd;padding-left:5px;padding-right:5px;padding-top:3px;padding-bottom:3px;"}
224                                                                                                                         append buffer >
225                                                                                                                 } else {
226                                                                                                                         append buffer <
227                                                                                                                         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;"}
228                                                                                                                         append buffer >
229                                                                                                                 }
230                                                                                                         
231 append buffer {
232 <a class="openocd" href="downloadmem.tcl?toggle_details=1">
233 }
234
235                                                                                                                         if {$show_details==1} {
236                                                                                                                                 append buffer "Hide details"
237                                                                                                                                 append buffer <br/>
238                                                                                                                         } else {
239                                                                                                                                 append buffer {<div style="position:relative;top:7px;text-align:center;">}
240                                                                                                                                 append buffer "Show details"
241                                                                                                                                 append buffer {</div>}
242                                                                                                                         }
243                                                                                                                         
244 append buffer {
245 </a>
246 }
247
248                                                                                                                         if {$show_details==1} {
249                                                                                                                                 append buffer $console
250                                                                                                                         }
251                                                                                                                 
252 append buffer {</td>}
253
254                                                                                                                 if {$show_details!=1} {
255                                                                                                                         append buffer {<td>&nbsp;</td>}
256                                                                                                                 }
257                                                                                                          
258 append buffer {
259 <td style="width:25px;">&nbsp;</td>
260 </table>
261 </td>
262 </tr>
263 }
264
265                                                                          }
266                                                                 
267 append buffer {
268 <tr>
269 <td style="height:30px;background-image:url('menu_cuts/center_bottom.png');background-repeat: no-repeat;background-position:top right;" colspan="6">
270 <div style="width:500px;background-color:#ffffff;height:100%;">
271                                                                                         &nbsp;
272                                                                                 </div>
273 </td>
274 </tr>
275 </table>
276 </td>
277 <td style="width:6px;"/>
278 <td style="width:245px;height:100%">
279 <table style="padding:0px;border-collapse:collapse;height:100%;">
280 <tr>
281 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab2_selected.png');background-repeat: no-repeat;">
282 <div style="position:relative;top:7px;;font-weight:bold;text-align:center;width:100px;" class="textgray">
283                                                                                     Documentation
284                                                                                  </div>
285 </td>
286 <td width="40px">
287                                                                                 &nbsp;
288                                                                         </td>
289 <td/>
290 </tr>
291 <tr>
292 <td style="height:10px;width:245px;background-image:url('menu_cuts/right_top_small.png');" colspan="3"/>
293 </tr>
294 <tr>
295 <td style="background-color:#d8d7d7;width:245px;padding-left:10px;padding-buttom:10px;line-height:17px;" colspan="3">
296 <a target="_blank" href="http://openocd.berlios.de/doc/openocd.pdf">OpenOCD Manual</a>
297 <br/>
298 </td>
299 </tr>
300 <tr>
301 <td style="background-color:#d8d7d7;height:15px;" colspan="3"/>
302 </tr>
303 <tr>
304 <td colspan="3">
305 <table style="padding:0px;border-collapse:collapse;">
306 <td style="background-color:#d8d7d7;width:10px;height:1px"/>
307 <td style="background-color:#999999;width:225px; height:1px;"/>
308 <td style="background-color:#d8d7d7;width:10px;height:1px"/>
309 </table>
310 </td>
311 </tr>
312 <tr>
313 <td style="background-color:#d8d7d7;height:15px;" colspan="3"/>
314 </tr>
315 <tr style="height:100%;">
316 <td style="height:100%;background-color:#d8d7d7;padding-left:10px;padding-right:10px;" colspan="3" class="textgray">
317                                         
318                                 Download memory from target. <br>
319                                 <b>Note</b> that download memory can take
320                                 a long time(potentially minutes for megabytes at low JTAG clk speeds).
321                                 <p/>
322                                 Once the memory is downloaded a link is available on the page to download
323                                 the file to your PC.
324                                 
325                         </td>
326 </tr>
327 <tr>
328 <td style="height:30px;background-image:url('menu_cuts/right_bottom.png');" colspan="3">
329                                                                                 &nbsp;
330                                                                         </td>
331 </tr>
332 </table>
333 </td>
334 </tr>
335 </table>
336 </body>
337 </html>
338
339
340
341                 
342
343                 
344                 
345                 
346                 
347
348
349                 
350
351
352                 
353
354
355                 
356
357
358                 
359         
360         
361 }
362
363 start_chunked "html"
364 write_chunked $buffer
365 end_chunked
366