X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Ftarget%2Fstartup.tcl;h=d68417e808efd135c5bb4d5d92ba55866effef68;hb=d91941d5a01ca0b9d43571edc03ba18741076cca;hp=d480f335dd0fbc09f7c6d1eff17bcd88378015e0;hpb=cb7dbc1af41068f826246beb53870c01d8973bb8;p=openocd diff --git a/src/target/startup.tcl b/src/target/startup.tcl index d480f335..d68417e8 100644 --- a/src/target/startup.tcl +++ b/src/target/startup.tcl @@ -1,21 +1,9 @@ -######### +# Defines basic Tcl procs for OpenOCD target module -# This reset logic may be overridden by board/target/... scripts as needed -# to provide a reset that, if possible, is close to a power-up reset. -# -# Exit requirements include: (a) JTAG must be working, (b) the scan -# chain was validated with "jtag arp_init" (or equivalent), (c) nothing -# stays in reset. No TAP-specific scans were performed. It's OK if -# some targets haven't been reset yet; they may need TAP-specific scans. -# -# The "mode" values include: halt, init, run (from "reset" command); -# startup (at OpenOCD server startup, when JTAG may not yet work); and -# potentially more (for reset types like cold, warm, etc) -proc init_reset { mode } { - jtag arp_init-reset +proc new_target_name { } { + return [target number [expr [target count] - 1 ]] } - global in_process_reset set in_process_reset 0 @@ -53,7 +41,7 @@ proc ocd_process_reset_inner { MODE } { set halt 0; } if { $halt < 0 } { - return -error "Invalid mode: $MODE, must be one of: halt, init, or run"; + return -code error "Invalid mode: $MODE, must be one of: halt, init, or run"; } # Target event handlers *might* change which TAPs are enabled @@ -131,7 +119,7 @@ proc ocd_process_reset_inner { MODE } { set s [$t curstate] if { 0 != [string compare $s "halted" ] } { - return -error [format "TARGET: %s - Not halted" $t] + return -code error [format "TARGET: %s - Not halted" $t] } } }