@@ -25,6 +25,7 @@ class OpenOcdBinaryRunner(ZephyrBinaryRunner):
2525 def __init__ (self , cfg , pre_init = None , pre_load = None ,
2626 load_cmd = None , verify_cmd = None , post_verify = None ,
2727 tui = None , config = None , serial = None , use_elf = None ,
28+ no_halt = False ,
2829 tcl_port = DEFAULT_OPENOCD_TCL_PORT ,
2930 telnet_port = DEFAULT_OPENOCD_TELNET_PORT ,
3031 gdb_port = DEFAULT_OPENOCD_GDB_PORT ):
@@ -58,6 +59,7 @@ def __init__(self, cfg, pre_init=None, pre_load=None,
5859 self .gdb_port = gdb_port
5960 self .gdb_cmd = [cfg .gdb ] if cfg .gdb else None
6061 self .tui_arg = ['-tui' ] if tui else []
62+ self .halt_arg = [] if no_halt else ['-c halt' ]
6163 self .serial = ['-c set _ZEPHYR_BOARD_SERIAL ' + serial ] if serial else []
6264 self .use_elf = use_elf
6365
@@ -100,6 +102,8 @@ def do_add_parser(cls, parser):
100102 help = 'openocd telnet port, defaults to 4444' )
101103 parser .add_argument ('--gdb-port' , default = DEFAULT_OPENOCD_GDB_PORT ,
102104 help = 'openocd gdb port, defaults to 3333' )
105+ parser .add_argument ('--no-halt' , action = 'store_true' ,
106+ help = 'if given, no halt issued in gdb server cmd' )
103107
104108 @classmethod
105109 def do_create (cls , cfg , args ):
@@ -108,7 +112,8 @@ def do_create(cls, cfg, args):
108112 pre_init = args .cmd_pre_init ,
109113 pre_load = args .cmd_pre_load , load_cmd = args .cmd_load ,
110114 verify_cmd = args .cmd_verify , post_verify = args .cmd_post_verify ,
111- tui = args .tui , config = args .config , serial = args .serial , use_elf = args .use_elf ,
115+ tui = args .tui , config = args .config , serial = args .serial ,
116+ use_elf = args .use_elf , no_halt = args .no_halt ,
112117 tcl_port = args .tcl_port , telnet_port = args .telnet_port ,
113118 gdb_port = args .gdb_port )
114119
@@ -212,9 +217,8 @@ def do_attach_debug(self, command, **kwargs):
212217 ['-c' , 'tcl_port {}' .format (self .tcl_port ),
213218 '-c' , 'telnet_port {}' .format (self .telnet_port ),
214219 '-c' , 'gdb_port {}' .format (self .gdb_port )] +
215- pre_init_cmd + ['-c' , 'init' ,
216- '-c' , 'targets' ,
217- '-c' , 'halt' ])
220+ pre_init_cmd + ['-c' , 'init' , '-c' , 'targets' ] +
221+ self .halt_arg )
218222 gdb_cmd = (self .gdb_cmd + self .tui_arg +
219223 ['-ex' , 'target remote :{}' .format (self .gdb_port ),
220224 self .elf_name ])
0 commit comments