Delete an unused import to make flake8 happy. Update the module docstring. Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
59 lines
1.9 KiB
Python
Executable file
59 lines
1.9 KiB
Python
Executable file
#! /usr/bin/env python3
|
|
|
|
# Copyright (c) 2017 Linaro Limited.
|
|
# Copyright (c) 2017 Open Source Foundries Limited.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
"""Zephyr flash/debug script
|
|
|
|
This helper script is the build system's entry point to Zephyr's
|
|
"runner" Python package. This package provides ZephyrBinaryRunner,
|
|
which is a standard interface for flashing and debugging boards
|
|
supported by Zephyr, as well as backend-specific scripts for tools
|
|
such as OpenOCD, pyOCD, etc.
|
|
"""
|
|
|
|
import sys
|
|
|
|
from runner.core import ZephyrBinaryRunner, get_env_bool_or
|
|
|
|
|
|
# TODO: Stop using environment variables.
|
|
#
|
|
# Migrate the build system so we can use an argparse.ArgumentParser and
|
|
# per-flasher subparsers, so invoking the script becomes something like:
|
|
#
|
|
# python zephyr_flash_debug.py openocd --openocd-bin=/openocd/path ...
|
|
#
|
|
# For now, maintain compatibility.
|
|
def run(shell_script, command, debug):
|
|
try:
|
|
runner = ZephyrBinaryRunner.create_for_shell_script(shell_script,
|
|
command,
|
|
debug)
|
|
except ValueError:
|
|
print('Unrecognized shell script {}'.format(shell_script),
|
|
file=sys.stderr)
|
|
raise
|
|
|
|
runner.run(command)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
commands = {'flash', 'debug', 'debugserver'}
|
|
debug = True
|
|
try:
|
|
debug = get_env_bool_or('VERBOSE', False)
|
|
if len(sys.argv) != 3 or sys.argv[1] not in commands:
|
|
raise ValueError('usage: {} <{}> script-name'.format(
|
|
sys.argv[0], '|'.join(commands)))
|
|
run(sys.argv[2], sys.argv[1], debug)
|
|
except Exception as e:
|
|
if debug:
|
|
raise
|
|
else:
|
|
print('Error: {}'.format(e), file=sys.stderr)
|
|
print('Re-run with VERBOSE=1 for a stack trace.',
|
|
file=sys.stderr)
|
|
sys.exit(1)
|