diff --git a/doc/configuration.rst b/doc/configuration.rst index 72ac124fd..fb0c94ff3 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -2318,6 +2318,12 @@ OpenOCDDriver An :any:`OpenOCDDriver` controls *OpenOCD* to bootstrap a target with a bootloader. +The driver disables OpenOCD's GDB, telnet and TCL server ports. It does not +provide a lifecycle to expose or stop these server interfaces, and disabling +them allows multiple bootstrap operations to run concurrently on one exporter. +Configurations which require a server interface can re-enable it with an +appropriate command before ``init``. + Note that OpenOCD supports specifying USB paths since `a1b308ab `_ which was released with v0.11. The OpenOCDDriver passes the resource's USB path. diff --git a/labgrid/driver/openocddriver.py b/labgrid/driver/openocddriver.py index 02440f4cf..60ae48ed9 100644 --- a/labgrid/driver/openocddriver.py +++ b/labgrid/driver/openocddriver.py @@ -55,6 +55,14 @@ def _run_commands(self, commands: list): cmd = [self.tool] cmd += chain.from_iterable(("--search", path) for path in self.search) cmd += self._get_usb_path_cmd() + cmd += [ + "--command", + "gdb_port disabled", + "--command", + "telnet_port disabled", + "--command", + "tcl_port disabled", + ] managed_configs = [] for config in self.config: