aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/target/startup.tcl15
-rw-r--r--src/target/target.c4
2 files changed, 19 insertions, 0 deletions
diff --git a/src/target/startup.tcl b/src/target/startup.tcl
index 56fcbaa7..033e9c9c 100644
--- a/src/target/startup.tcl
+++ b/src/target/startup.tcl
@@ -164,6 +164,21 @@ proc armv4_5 params {
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"
+ }
+}
+
# Additionally board config scripts can define a procedure init_board that will be executed after init and init_targets
proc init_board {} {
}
diff --git a/src/target/target.c b/src/target/target.c
index f5a8666b..98201554 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -1274,6 +1274,10 @@ COMMAND_HANDLER(handle_target_init_command)
if (ERROR_OK != retval)
return retval;
+ retval = command_run_line(CMD_CTX, "init_target_events");
+ if (ERROR_OK != retval)
+ return retval;
+
retval = command_run_line(CMD_CTX, "init_board");
if (ERROR_OK != retval)
return retval;