zephyr/scripts/west_commands/runners/hifive1.py
Pieter De Gendt bf7f41d880 scripts: west_commands: runners: Sort and format imports (I001)
Apply sorting and formatting rules on imports.

See
https://docs.astral.sh/ruff/rules/unsorted-imports/

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-22 17:40:37 +01:00

47 lines
1.3 KiB
Python

# Copyright (c) 2019, Timon Baetz
#
# SPDX-License-Identifier: Apache-2.0
'''HiFive1-specific (flash only) runner.'''
from os import path
from runners.core import RunnerCaps, ZephyrBinaryRunner
class HiFive1BinaryRunner(ZephyrBinaryRunner):
'''Runner front-end for the HiFive1 board, using openocd.'''
def __init__(self, cfg):
super().__init__(cfg)
self.openocd_config = path.join(cfg.board_dir, 'support', 'openocd.cfg')
@classmethod
def name(cls):
return 'hifive1'
@classmethod
def capabilities(cls):
return RunnerCaps(commands={'flash'})
@classmethod
def do_add_parser(cls, parser):
pass
@classmethod
def do_create(cls, cfg, args):
if cfg.gdb is None:
raise ValueError('--gdb not provided at command line')
return HiFive1BinaryRunner(cfg)
def do_run(self, command, **kwargs):
self.require(self.cfg.openocd)
self.require(self.cfg.gdb)
openocd_cmd = ([self.cfg.openocd, '-f', self.openocd_config])
gdb_cmd = ([self.cfg.gdb, self.cfg.elf_file, '--batch',
'-ex', 'set remotetimeout 240',
'-ex', 'target extended-remote localhost:3333',
'-ex', 'load',
'-ex', 'quit'])
self.run_server_and_client(openocd_cmd, gdb_cmd)