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
# Examine all targets on enabled taps.
foreach t $targets {
if {[jtag tapisenabled [$t cget -chain-position]]} {
- $t arp_examine
+ $t invoke-event examine-start
+ set err [catch "$t arp_examine"]
+ if { $err == 0 } {
+ $t invoke-event examine-end
+ }
}
}
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]
}
}
}
echo "DEPRECATED! use 'arm $params' not 'armv4_5 $params'"
arm $params
}
+
+# Target/chain configuration scripts can either execute commands directly
+# or define a procedure which is executed once all configuration
+# scripts have completed.
+#
+# By default(classic) the config scripts will set up the target configuration
+proc init_targets {} {
+}
+
+# Additionally board config scripts can define a procedure init_board that will be executed after init and init_targets
+proc init_board {} {
+}