From 47cb10217a7bc4b97fa169a821db05f40bc2e51d Mon Sep 17 00:00:00 2001 From: Zachary T Welch Date: Sat, 21 Nov 2009 19:41:21 -0800 Subject: [PATCH] improve startup tcl scripts Fix a couple of layering violations missed in the last round. Add missing comment headers. --- src/helper/startup.tcl | 4 ---- src/jtag/startup.tcl | 15 +++++++++++++++ src/server/startup.tcl | 2 ++ src/target/startup.tcl | 18 +++--------------- 4 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/helper/startup.tcl b/src/helper/startup.tcl index fc84943a5..845198adf 100644 --- a/src/helper/startup.tcl +++ b/src/helper/startup.tcl @@ -61,10 +61,6 @@ proc unknown {args} { return -code error "Unknown command: $args" } -proc new_target_name { } { - return [target number [expr [target count] - 1 ]] -} - # Try flipping / and \ to find file if the filename does not # match the precise spelling proc find {filename} { diff --git a/src/jtag/startup.tcl b/src/jtag/startup.tcl index 999f5d028..ab215babd 100644 --- a/src/jtag/startup.tcl +++ b/src/jtag/startup.tcl @@ -9,6 +9,21 @@ proc jtag_init {} { } } +# 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 +} + ######### # TODO: power_restore and power_dropout are currently neither diff --git a/src/server/startup.tcl b/src/server/startup.tcl index 677bb2de7..7801d1b0c 100644 --- a/src/server/startup.tcl +++ b/src/server/startup.tcl @@ -1,3 +1,5 @@ +# Defines basic Tcl procs for OpenOCD server modules + # Handle GDB 'R' packet. Can be overriden by configuration script, # but it's not something one would expect target scripts to do # normally diff --git a/src/target/startup.tcl b/src/target/startup.tcl index d480f335d..b597b84d1 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