Add comments and tiny improvements to STM32 flash loader algorithm
[openocd.git] / src / server / httpd / production.tcl
index 8172800b3a82fab7b3b1cc80096f8adbef6c1bcf..7c5ba6357ac0bec1209db5078ddcc7d5e55acfaf 100644 (file)
-# converted to .tcl by html2tcl.tcl\r
-set buffer ""\r
-append buffer {\r
-       \r
-       \r
-\r
-               \r
-               \r
-               \r
-\r
-\r
-               \r
-\r
-\r
-\r
-               \r
-               \r
-\r
-               \r
-\r
-\r
-\r
-\r
-               <html xmlns="http://www.w3.org/TR/REC-html40">\r
-<head>\r
-<title>OpenOCD debugger</title>\r
-<meta charset="utf-8" content="text/html" http-equiv="Content-Type"/>\r
-<link type="text/css" rel="stylesheet" href="menuweb.css"/>\r
-</head>\r
-}\r
-\r
-                               set console ""\r
-                               set upload_filename /ram/upload\r
-                       \r
-append buffer {\r
-<body style="margin:0px;">\r
-<div style="width:974px;height:85px;">\r
-<div style="float:left;position:relative;left:32px;width:478px;">\r
-<a href="/">\r
-                                                       OpenOCD\r
-                                               </a>\r
-</div>\r
-<div style="float:left;position:relative;height:26px; width:278px;left:122px;background-image:url('menu_cuts/top_right.png');">\r
-<div style="position:relative;left:15px;top:4px;" class="textlight">\r
-}\r
-append buffer [capture version]\r
-append buffer {\r
-</div>\r
-</div>\r
-</div>\r
-<table style="padding:0px;border-collapse:collapse;">\r
-<tr>\r
-<td style="width:33px;">\r
-<div style="width:20px;height:510px;">\r
-                                                               &nbsp;\r
-                                                       </div>\r
-</td>\r
-<td style="vertical-align:top;height:100%;width:140px;padding:0px;">\r
-<table style="padding:0px;border-collapse:collapse;height:100%;width:140px;">\r
-<tr style="height:59px;">\r
-<td/>\r
-</tr>\r
-<tr>\r
-<td style="width:140px;height:38px;background-image:url('menu_cuts/v_tab.png');background-repeat: no-repeat;">\r
-<div style="position:relative;left:10px;top:10px;font-weight:bold;">\r
-<a href="flashinfo.tcl" style="">Info</a>\r
-</div>\r
-</td>\r
-</tr>\r
-<tr>\r
-<td style="width:140px;height:38px;background-image:url('menu_cuts/v_tab.png');background-repeat: no-repeat;">\r
-<div style="position:relative;left:10px;top:10px;font-weight:bold;">\r
-<a href="erase.tcl" style="">Erase</a>\r
-</div>\r
-</td>\r
-</tr>\r
-<tr>\r
-<td style="width:140px;height:38px;background-image:url('menu_cuts/v_tab.png');background-repeat: no-repeat;">\r
-<div style="position:relative;left:10px;top:10px;font-weight:bold;">\r
-<a href="flash.tcl" style="">Program / Verify</a>\r
-</div>\r
-</td>\r
-</tr>\r
-<tr>\r
-<td style="width:140px;height:38px;background-image:url('menu_cuts/v_tab_selected.png');background-repeat: no-repeat;">\r
-<div style="position:relative;left:10px;top:10px;font-weight:bold;">\r
-<a href="production.tcl" style="font-weight: bold;">Production</a>\r
-</div>\r
-</td>\r
-</tr>\r
-<tr>\r
-<td style="width:140px;height:35px;background-image:url('menu_cuts/v_1.png')"/>\r
-</tr>\r
-<tr>\r
-<td style="width:140px;background-image:url('menu_cuts/v_2_tile.png')"/>\r
-</tr>\r
-<tr>\r
-<td style="width:140px;height:140px;background-image:url('menu_cuts/v_3.png')"/>\r
-</tr>\r
-</table>\r
-</td>\r
-<td style="vertical-align:top;padding:0px;height:100%">\r
-<table style="padding:0px;border-collapse:collapse;height:100%;">\r
-<tr>\r
-<td>\r
-<table style="padding:0px;border-collapse:collapse;">\r
-<tr>\r
-<td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">\r
-<div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">\r
-<a href="index.tcl">Config Target</a>\r
-</div>\r
-</td>\r
-<td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1_selected.png');background-repeat: no-repeat;">\r
-<div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">\r
-<a href="flashinfo.tcl" style="font-weight: bold;">Flash</a>\r
-</div>\r
-</td>\r
-<td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">\r
-<div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">\r
-<a href="browsemem.tcl">Memory</a>\r
-</div>\r
-</td>\r
-<td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">\r
-<div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">\r
-<a href="openocd.tcl">OpenOCD</a>\r
-</div>\r
-</td>\r
-</tr>\r
-</table>\r
-</td>\r
-</tr>\r
-<tr>\r
-<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
-<div style="width:500px;background-color:#ffffff;height:100%;">\r
-                                                                                       &nbsp;\r
-                                                                               </div>\r
-</td>\r
-</tr>\r
-<tr>\r
-<td style="background-color:#ffffff;text-indent:30px;height:40px;" colspan="6">\r
-<H1>Production</H1>\r
-</td>\r
-</tr>\r
-<tr style="height:100%;">\r
-<td style="background-color:#ffffff;padding-left:30px;padding-right:30px;width=535px;height:100%;" colspan="6">\r
-                       }\r
-\r
-                               set form_action [formfetch form_action]\r
-                               set form_serialnumber [formfetch form_serialnumber]\r
-                               append buffer [production_info]\r
-                       \r
-append buffer {\r
-                               \r
-                       <form enctype="multipart/form-data" action="production.tcl" method="post">\r
-                               <code style="white-space: nowrap;">\r
-                                       }\r
-       \r
-                                               if {[string compare $form_action "Upload firmware"]==0} {\r
-                                                       set wrotedata [catch {writeform form_filecontent $upload_filename} result]  \r
-                                                       append buffer [encode $result]\r
-                                                       if {$wrotedata==0} {\r
-                                                               append buffer "<br>Running production procedure<p>"\r
-                                                               append buffer "<br>Reset and init: <br>"\r
-                                                               \r
-                                                               append console [encode [capture_catch {catch "production $upload_filename $form_serialnumber"}]]\r
-                                                       }\r
-                                               }\r
-                                               if {[string compare $form_action "Test"]==0} {\r
-                                                       append buffer "<br>Running production test. Output from first 10 seconds printed below. <p>"\r
-                                                       \r
-                                                       append console [encode [capture_catch {catch production_test}]]\r
-                                               }\r
-                                               if {[string compare $form_action "Power on"]==0} {\r
-                                                       append console [encode [capture_catch "power on"]]\r
-                                               }\r
-                                               if {[string compare $form_action "Power off"]==0} {\r
-                                                       append console [encode [capture_catch "power off"]]\r
-                                               }\r
-                                       \r
-append buffer {\r
-                               </code>\r
-                               }\r
-\r
-                                       append buffer {<p class="formtext">Firmware file(raw binary) <input type="file" name="form_filecontent"><p>}\r
-                                       append buffer {<p class="formtext">Serial number <input type="text" name="form_serialnumber"><p>}\r
-                               \r
-append buffer {\r
-                               \r
-                               <table>\r
-                                       <tr><td style="height:15px;width:535px;">&nbsp</td></tr>\r
-                                       <tr><td style="height:1px;width:535px;background-color:#a2c5d1;"></td></tr>\r
-                                       <tr><td style="height:15px;width:535px;">&nbsp</td></tr>\r
-                               </table>\r
-                       \r
-                               <table><tr>\r
-                                       <td><input type="submit" name="form_action" value="Upload firmware" ></td>\r
-                                       <td class="buttonspacesmall">&nbsp</td><td><input type="submit" name="form_action" value="Test"></td>\r
-                                       <td class="buttonspacesmall">&nbsp</td><td><input type="submit" name="form_action" value="Power on"></td>\r
-                                       <td class="buttonspacesmall">&nbsp</td><td><input type="submit" name="form_action" value="Power off">\r
-                               </tr></table>\r
-                       </form>\r
-                       \r
-                       </td>\r
-</tr>\r
-}\r
-\r
-                                                                       \r
-                                                                       set toggle_details [formfetch toggle_details]\r
-                                                                       if {[string length $toggle_details]==0} {\r
-                                                                               set toggle_details 0\r
-                                                                       }\r
-                                                                       set show_details [load_var show_details]\r
-                                                                       if {[string length $show_details]==0} {\r
-                                                                               set show_details 0\r
-                                                                       }\r
-                                                                       if {$toggle_details==1} {\r
-                                                                               set show_details [expr 1-$show_details]\r
-                                                                               save_var show_details $show_details\r
-                                                                       }\r
-                                                                       \r
-                                                                       if {[string length $console]!=0} {\r
-                                                                               \r
-append buffer {\r
-<tr style="height:100%;">\r
-<td style="height:100%;background-color:red;" colspan="6">\r
-<table style="padding:0px;border-collapse:collapse;background-color:#ffffff;width:100%" class="textgray">\r
-<td style="width:25px;">&nbsp;</td>\r
-}\r
-\r
-                                                                                                               if {$show_details==1} {\r
-                                                                                                                       append buffer <\r
-                                                                                                                       append buffer {td style="background-color:#dddddd;padding-left:5px;padding-right:5px;padding-top:3px;padding-bottom:3px;"}\r
-                                                                                                                       append buffer >\r
-                                                                                                               } else {\r
-                                                                                                                       append buffer <\r
-                                                                                                                       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
-                                                                                                                       append buffer >\r
-                                                                                                               }\r
-                                                                                                       \r
-append buffer {\r
-<a class="openocd" href="production.tcl?toggle_details=1">\r
-}\r
-\r
-                                                                                                                       if {$show_details==1} {\r
-                                                                                                                               append buffer "Hide details"\r
-                                                                                                                               append buffer <br/>\r
-                                                                                                                       } else {\r
-                                                                                                                               append buffer {<div style="position:relative;top:7px;text-align:center;">}\r
-                                                                                                                               append buffer "Show details"\r
-                                                                                                                               append buffer {</div>}\r
-                                                                                                                       }\r
-                                                                                                                       \r
-append buffer {\r
-</a>\r
-}\r
-\r
-                                                                                                                       if {$show_details==1} {\r
-                                                                                                                               append buffer $console\r
-                                                                                                                       }\r
-                                                                                                               \r
-append buffer {</td>}\r
-\r
-                                                                                                               if {$show_details!=1} {\r
-                                                                                                                       append buffer {<td>&nbsp;</td>}\r
-                                                                                                               }\r
-                                                                                                        \r
-append buffer {\r
-<td style="width:25px;">&nbsp;</td>\r
-</table>\r
-</td>\r
-</tr>\r
-}\r
-\r
-                                                                        }\r
-                                                               \r
-append buffer {\r
-<tr>\r
-<td style="height:30px;background-image:url('menu_cuts/center_bottom.png');background-repeat: no-repeat;background-position:top right;" colspan="6">\r
-<div style="width:500px;background-color:#ffffff;height:100%;">\r
-                                                                                       &nbsp;\r
-                                                                               </div>\r
-</td>\r
-</tr>\r
-</table>\r
-</td>\r
-<td style="width:6px;"/>\r
-<td style="width:245px;height:100%">\r
-<table style="padding:0px;border-collapse:collapse;height:100%;">\r
-<tr>\r
-<td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab2_selected.png');background-repeat: no-repeat;">\r
-<div style="position:relative;top:7px;;font-weight:bold;text-align:center;width:100px;" class="textgray">\r
-                                                                                   Documentation\r
-                                                                                </div>\r
-</td>\r
-<td width="40px">\r
-                                                                               &nbsp;\r
-                                                                       </td>\r
-<td/>\r
-</tr>\r
-<tr>\r
-<td style="height:10px;width:245px;background-image:url('menu_cuts/right_top_small.png');" colspan="3"/>\r
-</tr>\r
-<tr>\r
-<td style="background-color:#d8d7d7;width:245px;padding-left:10px;padding-buttom:10px;line-height:17px;" colspan="3">\r
-<a target="_blank" href="http://openocd.berlios.de/doc/openocd.pdf">OpenOCD Manual</a>\r
-<br/>\r
-</td>\r
-</tr>\r
-<tr>\r
-<td style="background-color:#d8d7d7;height:15px;" colspan="3"/>\r
-</tr>\r
-<tr>\r
-<td colspan="3">\r
-<table style="padding:0px;border-collapse:collapse;">\r
-<td style="background-color:#d8d7d7;width:10px;height:1px"/>\r
-<td style="background-color:#999999;width:225px; height:1px;"/>\r
-<td style="background-color:#d8d7d7;width:10px;height:1px"/>\r
-</table>\r
-</td>\r
-</tr>\r
-<tr>\r
-<td style="background-color:#d8d7d7;height:15px;" colspan="3"/>\r
-</tr>\r
-<tr style="height:100%;">\r
-<td style="height:100%;background-color:#d8d7d7;padding-left:10px;padding-right:10px;" colspan="3" class="textgray">\r
-                               \r
-                               The target script can implement the "production", "production_info" and "production_test" tcl proc's. These procedures\r
-                               are used on this page. There are default implementations that do nothing.\r
-                               \r
-                               <p><b>Upload firmware</b> - Power cycle target, reset target and program raw binary file to flash bank 0, offset 0 and verify flash programming. Leave target powered on.</p>\r
-                               <p><b>Test</b> -  Power up target, run 10 second target test. Output is provided via the DCC output channel. </p>\r
-                               <p><b>Power on</b> - Power on target.</p>\r
-                               <p><b>Power off</b> - Power off target.</p>\r
-                               <p><b>Serial number</b> - A target script can use this string in the production procedure. Type "help production" for more info.</p>\r
-                                        \r
-                       </td>\r
-</tr>\r
-<tr>\r
-<td style="height:30px;background-image:url('menu_cuts/right_bottom.png');" colspan="3">\r
-                                                                               &nbsp;\r
-                                                                       </td>\r
-</tr>\r
-</table>\r
-</td>\r
-</tr>\r
-</table>\r
-</body>\r
-</html>\r
-\r
-\r
-\r
-               \r
-\r
-\r
-               \r
-\r
-\r
-               \r
-\r
-               \r
-\r
-\r
-               \r
-\r
-\r
-\r
-               \r
-\r
-               \r
-               \r
-               \r
-               \r
-\r
-\r
-               \r
-\r
-\r
-               \r
-\r
-\r
-               \r
-\r
-\r
-               \r
-       \r
-       \r
-}\r
-\r
-start_chunked "html"\r
-write_chunked $buffer\r
-end_chunked\r
-\r
+# converted to .tcl by html2tcl.tcl
+set buffer ""
+append buffer {
+       
+       
+
+               
+               
+               
+
+
+               
+
+
+
+               
+               
+
+               
+
+
+
+
+               <html xmlns="http://www.w3.org/TR/REC-html40">
+<head>
+<title>OpenOCD debugger</title>
+<meta charset="utf-8" content="text/html" http-equiv="Content-Type"/>
+<link type="text/css" rel="stylesheet" href="menuweb.css"/>
+</head>
+}
+
+                               set console ""
+                               set upload_filename /ram/upload
+                       
+append buffer {
+<body style="margin:0px;">
+<div style="width:974px;height:85px;">
+<div style="float:left;position:relative;left:32px;width:478px;">
+<a href="/">
+                                                       OpenOCD
+                                               </a>
+</div>
+<div style="float:left;position:relative;height:26px; width:278px;left:122px;background-image:url('menu_cuts/top_right.png');">
+<div style="position:relative;left:15px;top:4px;" class="textlight">
+}
+append buffer [capture version]
+append buffer {
+</div>
+</div>
+</div>
+<table style="padding:0px;border-collapse:collapse;">
+<tr>
+<td style="width:33px;">
+<div style="width:20px;height:510px;">
+                                                               &nbsp;
+                                                       </div>
+</td>
+<td style="vertical-align:top;height:100%;width:140px;padding:0px;">
+<table style="padding:0px;border-collapse:collapse;height:100%;width:140px;">
+<tr style="height:59px;">
+<td/>
+</tr>
+<tr>
+<td style="width:140px;height:38px;background-image:url('menu_cuts/v_tab.png');background-repeat: no-repeat;">
+<div style="position:relative;left:10px;top:10px;font-weight:bold;">
+<a href="flashinfo.tcl" style="">Info</a>
+</div>
+</td>
+</tr>
+<tr>
+<td style="width:140px;height:38px;background-image:url('menu_cuts/v_tab.png');background-repeat: no-repeat;">
+<div style="position:relative;left:10px;top:10px;font-weight:bold;">
+<a href="erase.tcl" style="">Erase</a>
+</div>
+</td>
+</tr>
+<tr>
+<td style="width:140px;height:38px;background-image:url('menu_cuts/v_tab.png');background-repeat: no-repeat;">
+<div style="position:relative;left:10px;top:10px;font-weight:bold;">
+<a href="flash.tcl" style="">Program / Verify</a>
+</div>
+</td>
+</tr>
+<tr>
+<td style="width:140px;height:38px;background-image:url('menu_cuts/v_tab_selected.png');background-repeat: no-repeat;">
+<div style="position:relative;left:10px;top:10px;font-weight:bold;">
+<a href="production.tcl" style="font-weight: bold;">Production</a>
+</div>
+</td>
+</tr>
+<tr>
+<td style="width:140px;height:35px;background-image:url('menu_cuts/v_1.png')"/>
+</tr>
+<tr>
+<td style="width:140px;background-image:url('menu_cuts/v_2_tile.png')"/>
+</tr>
+<tr>
+<td style="width:140px;height:140px;background-image:url('menu_cuts/v_3.png')"/>
+</tr>
+</table>
+</td>
+<td style="vertical-align:top;padding:0px;height:100%">
+<table style="padding:0px;border-collapse:collapse;height:100%;">
+<tr>
+<td>
+<table style="padding:0px;border-collapse:collapse;">
+<tr>
+<td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
+<div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
+<a href="index.tcl">Config Target</a>
+</div>
+</td>
+<td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1_selected.png');background-repeat: no-repeat;">
+<div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
+<a href="flashinfo.tcl" style="font-weight: bold;">Flash</a>
+</div>
+</td>
+<td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
+<div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
+<a href="browsemem.tcl">Memory</a>
+</div>
+</td>
+<td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab1.png');background-repeat: no-repeat;">
+<div style="position:relative;top:7px;font-weight:bold;text-align:center;width:100px;">
+<a href="openocd.tcl">OpenOCD</a>
+</div>
+</td>
+</tr>
+</table>
+</td>
+</tr>
+<tr>
+<td style="height:30px;width:535px;background-image:url('menu_cuts/center_top.png');background-repeat: no-repeat;background-position:top right;" colspan="6">
+<div style="width:500px;background-color:#ffffff;height:100%;">
+                                                                                       &nbsp;
+                                                                               </div>
+</td>
+</tr>
+<tr>
+<td style="background-color:#ffffff;text-indent:30px;height:40px;" colspan="6">
+<H1>Production</H1>
+</td>
+</tr>
+<tr style="height:100%;">
+<td style="background-color:#ffffff;padding-left:30px;padding-right:30px;width=535px;height:100%;" colspan="6">
+                       }
+
+                               set form_action [formfetch form_action]
+                               set form_serialnumber [formfetch form_serialnumber]
+                               append buffer [production_info]
+                       
+append buffer {
+                               
+                       <form enctype="multipart/form-data" action="production.tcl" method="post">
+                               <code style="white-space: nowrap;">
+                                       }
+       
+                                               if {[string compare $form_action "Upload firmware"]==0} {
+                                                       set wrotedata [catch {writeform form_filecontent $upload_filename} result]  
+                                                       append buffer [encode $result]
+                                                       if {$wrotedata==0} {
+                                                               append buffer "<br>Running production procedure<p>"
+                                                               append buffer "<br>Reset and init: <br>"
+                                                               
+                                                               append console [encode [capture_catch {catch "production $upload_filename $form_serialnumber"}]]
+                                                       }
+                                               }
+                                               if {[string compare $form_action "Test"]==0} {
+                                                       append buffer "<br>Running production test. Output from first 10 seconds printed below. <p>"
+                                                       
+                                                       append console [encode [capture_catch {catch production_test}]]
+                                               }
+                                               if {[string compare $form_action "Power on"]==0} {
+                                                       append console [encode [capture_catch "power on"]]
+                                               }
+                                               if {[string compare $form_action "Power off"]==0} {
+                                                       append console [encode [capture_catch "power off"]]
+                                               }
+                                       
+append buffer {
+                               </code>
+                               }
+
+                                       append buffer {<p class="formtext">Firmware file(raw binary) <input type="file" name="form_filecontent"><p>}
+                                       append buffer {<p class="formtext">Serial number <input type="text" name="form_serialnumber"><p>}
+                               
+append buffer {
+                               
+                               <table>
+                                       <tr><td style="height:15px;width:535px;">&nbsp</td></tr>
+                                       <tr><td style="height:1px;width:535px;background-color:#a2c5d1;"></td></tr>
+                                       <tr><td style="height:15px;width:535px;">&nbsp</td></tr>
+                               </table>
+                       
+                               <table><tr>
+                                       <td><input type="submit" name="form_action" value="Upload firmware" ></td>
+                                       <td class="buttonspacesmall">&nbsp</td><td><input type="submit" name="form_action" value="Test"></td>
+                                       <td class="buttonspacesmall">&nbsp</td><td><input type="submit" name="form_action" value="Power on"></td>
+                                       <td class="buttonspacesmall">&nbsp</td><td><input type="submit" name="form_action" value="Power off">
+                               </tr></table>
+                       </form>
+                       
+                       </td>
+</tr>
+}
+
+                                                                       
+                                                                       set toggle_details [formfetch toggle_details]
+                                                                       if {[string length $toggle_details]==0} {
+                                                                               set toggle_details 0
+                                                                       }
+                                                                       set show_details [load_var show_details]
+                                                                       if {[string length $show_details]==0} {
+                                                                               set show_details 0
+                                                                       }
+                                                                       if {$toggle_details==1} {
+                                                                               set show_details [expr 1-$show_details]
+                                                                               save_var show_details $show_details
+                                                                       }
+                                                                       
+                                                                       if {[string length $console]!=0} {
+                                                                               
+append buffer {
+<tr style="height:100%;">
+<td style="height:100%;background-color:red;" colspan="6">
+<table style="padding:0px;border-collapse:collapse;background-color:#ffffff;width:100%" class="textgray">
+<td style="width:25px;">&nbsp;</td>
+}
+
+                                                                                                               if {$show_details==1} {
+                                                                                                                       append buffer <
+                                                                                                                       append buffer {td style="background-color:#dddddd;padding-left:5px;padding-right:5px;padding-top:3px;padding-bottom:3px;"}
+                                                                                                                       append buffer >
+                                                                                                               } else {
+                                                                                                                       append buffer <
+                                                                                                                       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;"}
+                                                                                                                       append buffer >
+                                                                                                               }
+                                                                                                       
+append buffer {
+<a class="openocd" href="production.tcl?toggle_details=1">
+}
+
+                                                                                                                       if {$show_details==1} {
+                                                                                                                               append buffer "Hide details"
+                                                                                                                               append buffer <br/>
+                                                                                                                       } else {
+                                                                                                                               append buffer {<div style="position:relative;top:7px;text-align:center;">}
+                                                                                                                               append buffer "Show details"
+                                                                                                                               append buffer {</div>}
+                                                                                                                       }
+                                                                                                                       
+append buffer {
+</a>
+}
+
+                                                                                                                       if {$show_details==1} {
+                                                                                                                               append buffer $console
+                                                                                                                       }
+                                                                                                               
+append buffer {</td>}
+
+                                                                                                               if {$show_details!=1} {
+                                                                                                                       append buffer {<td>&nbsp;</td>}
+                                                                                                               }
+                                                                                                        
+append buffer {
+<td style="width:25px;">&nbsp;</td>
+</table>
+</td>
+</tr>
+}
+
+                                                                        }
+                                                               
+append buffer {
+<tr>
+<td style="height:30px;background-image:url('menu_cuts/center_bottom.png');background-repeat: no-repeat;background-position:top right;" colspan="6">
+<div style="width:500px;background-color:#ffffff;height:100%;">
+                                                                                       &nbsp;
+                                                                               </div>
+</td>
+</tr>
+</table>
+</td>
+<td style="width:6px;"/>
+<td style="width:245px;height:100%">
+<table style="padding:0px;border-collapse:collapse;height:100%;">
+<tr>
+<td style="width:103px;height:29px;background-image:url('menu_cuts/h_tab2_selected.png');background-repeat: no-repeat;">
+<div style="position:relative;top:7px;;font-weight:bold;text-align:center;width:100px;" class="textgray">
+                                                                                   Documentation
+                                                                                </div>
+</td>
+<td width="40px">
+                                                                               &nbsp;
+                                                                       </td>
+<td/>
+</tr>
+<tr>
+<td style="height:10px;width:245px;background-image:url('menu_cuts/right_top_small.png');" colspan="3"/>
+</tr>
+<tr>
+<td style="background-color:#d8d7d7;width:245px;padding-left:10px;padding-buttom:10px;line-height:17px;" colspan="3">
+<a target="_blank" href="http://openocd.berlios.de/doc/openocd.pdf">OpenOCD Manual</a>
+<br/>
+</td>
+</tr>
+<tr>
+<td style="background-color:#d8d7d7;height:15px;" colspan="3"/>
+</tr>
+<tr>
+<td colspan="3">
+<table style="padding:0px;border-collapse:collapse;">
+<td style="background-color:#d8d7d7;width:10px;height:1px"/>
+<td style="background-color:#999999;width:225px; height:1px;"/>
+<td style="background-color:#d8d7d7;width:10px;height:1px"/>
+</table>
+</td>
+</tr>
+<tr>
+<td style="background-color:#d8d7d7;height:15px;" colspan="3"/>
+</tr>
+<tr style="height:100%;">
+<td style="height:100%;background-color:#d8d7d7;padding-left:10px;padding-right:10px;" colspan="3" class="textgray">
+                               
+                               The target script can implement the "production", "production_info" and "production_test" tcl proc's. These procedures
+                               are used on this page. There are default implementations that do nothing.
+                               
+                               <p><b>Upload firmware</b> - Power cycle target, reset target and program raw binary file to flash bank 0, offset 0 and verify flash programming. Leave target powered on.</p>
+                               <p><b>Test</b> -  Power up target, run 10 second target test. Output is provided via the DCC output channel. </p>
+                               <p><b>Power on</b> - Power on target.</p>
+                               <p><b>Power off</b> - Power off target.</p>
+                               <p><b>Serial number</b> - A target script can use this string in the production procedure. Type "help production" for more info.</p>
+                                        
+                       </td>
+</tr>
+<tr>
+<td style="height:30px;background-image:url('menu_cuts/right_bottom.png');" colspan="3">
+                                                                               &nbsp;
+                                                                       </td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
+
+
+               
+
+
+               
+
+
+               
+
+               
+
+
+               
+
+
+
+               
+
+               
+               
+               
+               
+
+
+               
+
+
+               
+
+
+               
+
+
+               
+       
+       
+}
+
+start_chunked "html"
+write_chunked $buffer
+end_chunked
+

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)