+
+# 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 {} {
+}
+
+proc set_default_target_event {t e s} {
+ if {[$t cget -event $e] == ""} {
+ $t configure -event $e $s
+ }
+}
+
+proc init_target_events {} {
+ set targets [target names]
+
+ foreach t $targets {
+ set_default_target_event $t gdb-flash-erase-start "reset init"
+ set_default_target_event $t gdb-flash-write-end "reset halt"
+ set_default_target_event $t gdb-attach "halt"
+ }
+}
+
+# Additionally board config scripts can define a procedure init_board that will be executed after init and init_targets
+proc init_board {} {
+}
+
+# deprecated target name cmds
+proc cortex_m3 args {
+ echo "DEPRECATED! use 'cortex_m' not 'cortex_m3'"
+ eval cortex_m $args
+}
+
+proc cortex_a8 args {
+ echo "DEPRECATED! use 'cortex_a' not 'cortex_a8'"
+ eval cortex_a $args
+}