1 # converted to .tcl by html2tcl.tcl
\r
34 <html xmlns="http://www.w3.org/TR/REC-html40">
\r
36 <title>OpenOCD debugger</title>
\r
37 <meta charset="utf-8" content="text/html" http-equiv="Content-Type"/>
\r
38 <link type="text/css" rel="stylesheet" href="menuweb.css"/>
\r
43 set upload_filename /ram/upload
\r
46 <body style="margin:0px;">
\r
47 <div style="width:974px;height:85px;">
\r
48 <div style="float:left;position:relative;left:32px;width:478px;">
\r
53 <div style="float:left;position:relative;height:26px; width:278px;left:122px;background-image:url('menu_cuts/top_right.png');">
\r
54 <div style="position:relative;left:15px;top:4px;" class="textlight">
\r
56 append buffer [capture version]
\r
61 <table style="padding:0px;border-collapse:collapse;">
\r
63 <td style="width:33px;">
\r
64 <div style="width:20px;height:510px;">
\r
68 <td style="vertical-align:top;height:100%;width:140px;padding:0px;">
\r
69 <table style="padding:0px;border-collapse:collapse;height:100%;width:140px;">
\r
70 <tr style="height:59px;">
\r
74 <td style="width:140px;height:38px;background-image:url('menu_cuts/v_tab_selected.png');background-repeat: no-repeat;">
\r
75 <div style="position:relative;left:10px;top:10px;font-weight:bold;">
\r
76 <a href="browsemem.tcl" style="font-weight: bold;">Browse / Edit</a>
\r
81 <td style="width:140px;height:38px;background-image:url('menu_cuts/v_tab.png');background-repeat: no-repeat;">
\r
82 <div style="position:relative;left:10px;top:10px;font-weight:bold;">
\r
83 <a href="downloadmem.tcl" style="">Download</a>
\r
88 <td style="width:140px;height:35px;background-image:url('menu_cuts/v_1.png')"/>
\r
91 <td style="width:140px;background-image:url('menu_cuts/v_2_tile.png')"/>
\r
94 <td style="width:140px;height:140px;background-image:url('menu_cuts/v_3.png')"/>
\r
98 <td style="vertical-align:top;padding:0px;height:100%">
\r
99 <table style="padding:0px;border-collapse:collapse;height:100%;">
\r
102 <table style="padding:0px;border-collapse:collapse;">
\r
104 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
\r
105 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
\r
106 <a href="index.tcl">Config Target</a>
\r
109 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
\r
110 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
\r
111 <a href="flashinfo.tcl">Flash</a>
\r
114 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1_selected.png');background-repeat: no-repeat;">
\r
115 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
\r
116 <a href="browsemem.tcl" style="font-weight: bold;">Memory</a>
\r
119 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
\r
120 <div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
\r
121 <a href="openocd.tcl">OpenOCD</a>
\r
129 <td style="height:30px;width:535px;background-image:url('menu_cuts/center_top.png');background-repeat: no-repeat;background-position:top right;" colspan="6">
\r
130 <div style="width:500px;background-color:#ffffff;height:100%;">
\r
136 <td style="background-color:#ffffff;text-indent:30px;height:40px;" colspan="6">
\r
137 <H1>Browse / Edit Memory</H1>
\r
140 <tr style="height:100%;">
\r
141 <td style="background-color:#ffffff;padding-left:30px;padding-right:30px;width=535px;height:100%;" colspan="6">
\r
148 set form_address [formfetch form_address]
\r
149 set form_length [formfetch form_length]
\r
150 set form_type [formfetch form_type]
\r
151 set form_action [formfetch form_action]
\r
152 set form_value [formfetch form_value]
\r
154 if {[string compare $form_length ""]==0} {
\r
157 if {$form_length<=0} {
\r
158 set form_length 0x80
\r
160 if {$form_length>0x1000} {
\r
161 set form_length 0x1000
\r
164 if {[string compare $form_type ""]==0} {
\r
168 if {[string compare $form_type "mdw"]==0} {
\r
170 set modify_cmd mww
\r
172 if {[string compare $form_type "mdh"]==0} {
\r
174 set modify_cmd mwh
\r
176 if {[string compare $form_type "mdb"]==0} {
\r
178 set modify_cmd mwb
\r
184 if {[string compare $form_address ""]!=0} {
\r
185 if {[string compare $form_action "Previous"]==0} {
\r
186 # Kludge! Work around problems parsing hex in Jim Tcl expressions
\r
187 incr form_address ; set form_address [expr $form_address-1]
\r
188 if {$form_address-$form_length>0} {
\r
189 set form_address "0x[tohex [expr $form_address-$form_length]]"
\r
191 set form_address "0x0"
\r
194 if {[string compare $form_action "Next"]==0} {
\r
195 # Kludge! Work around problems parsing hex in Jim Tcl expressions
\r
196 incr form_address ; set form_address [expr $form_address-1]
\r
197 set form_address "0x[tohex [expr $form_address+$form_length]]"
\r
199 if {[string compare $form_action "Modify"]==0} {
\r
200 append console [capture_catch "$modify_cmd $form_address $form_value"]
\r
202 if {[string compare $form_action "Fill"]==0} {
\r
203 append console [capture_catch "$modify_cmd $form_address $form_value $form_length"]
\r
211 <form action="browsemem.tcl" method="post">
\r
213 <tr><td class="formtext">Address</td><td><input type="text" name="form_address" value="}
\r
214 append buffer $form_address
\r
215 append buffer {"></td></tr>
\r
216 <tr><td class="formtext">Length</td><td><input type="text" name="form_length" value="}
\r
217 append buffer "0x[tohex $form_length]"
\r
218 append buffer {"></td></tr>
\r
219 <tr><td class="formtext">Value</td><td><input type="text" name="form_value" value="}
\r
220 append buffer $form_value
\r
221 append buffer {"></td>
\r
222 <td class="buttonspacesmall"> </td><td><input type="submit" name="form_action" value="Modify"></td>
\r
223 <td class="buttonspacesmall"> </td><td><input type="submit" name="form_action" value="Fill"></td></tr>
\r
224 <tr><td class="formtext">Type</td><td style="padding-top:1px;">
\r
225 <select name="form_type">
\r
228 if {[string compare $form_type "mdb"]==0} { append buffer {selected="selected"} }
\r
229 append buffer { value ="mdb">8 bit
\r
233 if {[string compare $form_type "mdh"]==0} { append buffer {selected="selected"} }
\r
234 append buffer { value ="mdh">16 bit
\r
238 if {[string compare $form_type "mdw"]==0} { append buffer {selected="selected"} }
\r
239 append buffer {value ="mdw">32 bit
\r
246 <tr><td style="height:15px;width:535px;"> </td></tr>
\r
247 <tr><td style="height:1px;width:535px;background-color:#a2c5d1;"></td></tr>
\r
248 <tr><td style="height:15px;width:535px;"> </td></tr>
\r
252 <td><input type="submit" name="form_action" value="Refresh"></td>
\r
253 <td class="buttonspacesmall"> </td><td><input type="submit" name="form_action" value="Previous" ></td>
\r
254 <td class="buttonspacesmall"> </td><td><input type="submit" name="form_action" value="Next" ></td>
\r
260 <div class="fontbigger">Memory:</div><p>
\r
261 <code style="white-space: nowrap; font-size:11px;font:courier new;">
\r
264 if {[string compare $form_address ""]!=0} {
\r
265 append console [encode [capture_catch halt]]
\r
266 append buffer [encode [capture_catch "$form_type $form_address [expr $form_length]"]]
\r
281 set toggle_details [formfetch toggle_details]
\r
282 if {[string length $toggle_details]==0} {
\r
283 set toggle_details 0
\r
285 set show_details [load_var show_details]
\r
286 if {[string length $show_details]==0} {
\r
289 if {$toggle_details==1} {
\r
290 set show_details [expr 1-$show_details]
\r
291 save_var show_details $show_details
\r
294 if {[string length $console]!=0} {
\r
297 <tr style="height:100%;">
\r
298 <td style="height:100%;background-color:red;" colspan="6">
\r
299 <table style="padding:0px;border-collapse:collapse;background-color:#ffffff;width:100%" class="textgray">
\r
300 <td style="width:25px;"> </td>
\r
303 if {$show_details==1} {
\r
305 append buffer {td style="background-color:#dddddd;padding-left:5px;padding-right:5px;padding-top:3px;padding-bottom:3px;"}
\r
309 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;"}
\r
314 <a class="openocd" href="browsemem.tcl?toggle_details=1">
\r
317 if {$show_details==1} {
\r
318 append buffer "Hide details"
\r
319 append buffer <br/>
\r
321 append buffer {<div style="position:relative;top:7px;text-align:center;">}
\r
322 append buffer "Show details"
\r
323 append buffer {</div>}
\r
330 if {$show_details==1} {
\r
331 append buffer $console
\r
334 append buffer {</td>}
\r
336 if {$show_details!=1} {
\r
337 append buffer {<td> </td>}
\r
341 <td style="width:25px;"> </td>
\r
351 <td style="height:30px;background-image:url('menu_cuts/center_bottom.png');background-repeat: no-repeat;background-position:top right;" colspan="6">
\r
352 <div style="width:500px;background-color:#ffffff;height:100%;">
\r
359 <td style="width:6px;"/>
\r
360 <td style="width:245px;height:100%">
\r
361 <table style="padding:0px;border-collapse:collapse;height:100%;">
\r
363 <td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab2_selected.png');background-repeat: no-repeat;">
\r
364 <div style="position:relative;top:7px;;font-weight:bold;text-align:center;width:100px;" class="textgray">
\r
374 <td style="height:10px;width:245px;background-image:url('menu_cuts/right_top_small.png');" colspan="3"/>
\r
377 <td style="background-color:#d8d7d7;width:245px;padding-left:10px;padding-buttom:10px;line-height:17px;" colspan="3">
\r
378 <a target="_blank" href="http://openocd.berlios.de/doc/openocd.pdf">OpenOCD Manual</a>
\r
383 <td style="background-color:#d8d7d7;height:15px;" colspan="3"/>
\r
387 <table style="padding:0px;border-collapse:collapse;">
\r
388 <td style="background-color:#d8d7d7;width:10px;height:1px"/>
\r
389 <td style="background-color:#999999;width:225px; height:1px;"/>
\r
390 <td style="background-color:#d8d7d7;width:10px;height:1px"/>
\r
395 <td style="background-color:#d8d7d7;height:15px;" colspan="3"/>
\r
397 <tr style="height:100%;">
\r
398 <td style="height:100%;background-color:#d8d7d7;padding-left:10px;padding-right:10px;" colspan="3" class="textgray">
\r
400 <p>Browse and edit target memory.<br>
\r
401 Length is in bytes, maximum 4096 bytes.</p>
\r
402 <p>An error message is shown when trying to browse or edit memory which cases a CPU fault.</p>
\r
403 <p>CPU will be halted if required.</p>
\r
404 <p><b>Modify</b> - Will modify only one byte, half-word or word starting at Address.</p>
\r
405 <p><b>Fill</b> - Will fill the specified region with the specified value.</p>
\r
406 <p><b>Refresh</b> - Display the content of the specified memory area.</p>
\r
411 <td style="height:30px;background-image:url('menu_cuts/right_bottom.png');" colspan="3">
\r
451 start_chunked "html"
\r
452 write_chunked $buffer
\r