The Python-based runners have replaced the old shell scripts. Refactor the build system accordingly: - FLASH_SCRIPT is now BOARD_FLASH_RUNNER - DEBUG_SCRIPT is now BOARD_DEBUG_RUNNER The values, rather than being the names of files, are now the names of runners in scripts/support/runner. They are still short, descriptive names like "openocd", "jlink", "em-starterkit", etc. Adjust the zephyr_flash_debug.py call and runner internals accordingly. Have each runner class report a name and the commands it can handle. This lets us move some boilerplate from each do_run() method into the common run() routine, and enables further improvements in future patches. The handles_command() method is temporary, and will be replaced by a more general mechanism for describing runner capabilities in a subsequent patch. The initial use case for extending this is to add device tree awareness to the runners. To try to avoid user confusion, abort the configuration if an xxx_SCRIPT is defined. Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
26 lines
656 B
Python
26 lines
656 B
Python
# Copyright (c) 2017 Linaro Limited.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
'''Runner stub for QEMU.'''
|
|
|
|
from .core import ZephyrBinaryRunner
|
|
|
|
|
|
class QemuBinaryRunner(ZephyrBinaryRunner):
|
|
'''Place-holder for QEMU runner customizations.'''
|
|
|
|
def __init__(self, debug=False):
|
|
super(QemuBinaryRunner, self).__init__(debug=debug)
|
|
|
|
@classmethod
|
|
def name(cls):
|
|
return 'qemu'
|
|
|
|
def create_from_env(command, debug):
|
|
'''Create runner. No environment dependencies.'''
|
|
return QemuBinaryRunner()
|
|
|
|
def do_run(self, command, **kwargs):
|
|
if command == 'debugserver':
|
|
print('Detached GDB server')
|