12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- # Copyright (c) 2018 Open Source Foundries Limited.
- # Copyright 2019 Foundries.io
- # Copyright (c) 2020 Nordic Semiconductor ASA
- #
- # SPDX-License-Identifier: Apache-2.0
- '''west "debug", "debugserver", and "attach" commands.'''
- from textwrap import dedent
- from west.commands import WestCommand
- from run_common import add_parser_common, do_run_common
- class Debug(WestCommand):
- def __init__(self):
- super(Debug, self).__init__(
- 'debug',
- # Keep this in sync with the string in west-commands.yml.
- 'flash and interactively debug a Zephyr application',
- dedent('''
- Connect to the board, flash the program, and start a
- debugging session. Use "west attach" instead to attach
- a debugger without reflashing.'''),
- accepts_unknown_args=True)
- self.runner_key = 'debug-runner' # in runners.yaml
- def do_add_parser(self, parser_adder):
- return add_parser_common(self, parser_adder)
- def do_run(self, my_args, runner_args):
- do_run_common(self, my_args, runner_args)
- class DebugServer(WestCommand):
- def __init__(self):
- super(DebugServer, self).__init__(
- 'debugserver',
- # Keep this in sync with the string in west-commands.yml.
- 'connect to board and launch a debug server',
- dedent('''
- Connect to the board and launch a debug server which accepts
- incoming connections for debugging the connected board.
- The debug server binds to a known port, and allows client software
- started elsewhere to connect to it and debug the running
- Zephyr image.'''),
- accepts_unknown_args=True)
- self.runner_key = 'debug-runner' # in runners.yaml
- def do_add_parser(self, parser_adder):
- return add_parser_common(self, parser_adder)
- def do_run(self, my_args, runner_args):
- do_run_common(self, my_args, runner_args)
- class Attach(WestCommand):
- def __init__(self):
- super(Attach, self).__init__(
- 'attach',
- # Keep this in sync with the string in west-commands.yml.
- 'interactively debug a board',
- "Like \"west debug\", but doesn't reflash the program.",
- accepts_unknown_args=True)
- self.runner_key = 'debug-runner' # in runners.yaml
- def do_add_parser(self, parser_adder):
- return add_parser_common(self, parser_adder)
- def do_run(self, my_args, runner_args):
- do_run_common(self, my_args, runner_args)
|