target: use one second timeout while halting target at gdb attach
authorAntonio Borneo <borneo.antonio@gmail.com>
Tue, 19 May 2020 14:41:17 +0000 (16:41 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sun, 2 Aug 2020 09:48:41 +0000 (10:48 +0100)
By default GDB timeouts after 2 seconds, even if this value can be
modified with GDB command "set remotetimeout".
On OpenOCD side, the default event for GDB attach is to halt the
target and wait it to halt. But here the default timeout of the
halt command is 5 seconds!
If the target cannot be halted (e.g. it's kept in reset by another
core or the debugger doesn't have enough privileges) then GDB will
timeout while OpenOCD is still waiting and is unable to
communicate with GDB.

Decrease the halt timeout to 1 second in the default GDB attach
event handler.

Change-Id: I231c740816bb6a0d74b0bc679a368a6cbfb34824
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/5687
Tested-by: jenkins
src/target/startup.tcl

index 93e46b5f8f16b2073d0d321bfc4662740ce84533..ca39b1816111914ebc2ffe9f399c744fbafa8fdb 100644 (file)
@@ -205,7 +205,7 @@ proc init_target_events {} {
        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"
+               set_default_target_event $t gdb-attach "halt 1000"
        }
 }