diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/target/startup.tcl | 15 | ||||
-rw-r--r-- | src/target/target.c | 4 |
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; |