Skip to content

Commit 5c24a68

Browse files
erwangonashif
authored andcommitted
scripts/west_commands/runners: openocd: Add no-halt debug option
Some targets require no 'halt' to be issued i the gdb server command. Add a --no-halt option to make it possible. Keep use of halt as the default case. Signed-off-by: Erwan Gouriou <[email protected]>
1 parent 086cfb3 commit 5c24a68

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

scripts/west_commands/runners/openocd.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)