From e568d578ab07015b5b0e2dbdf1393c0248093232 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 9 Jun 2022 22:05:42 +0200 Subject: [PATCH] Make OpenOCD uploading more robust, respect speed for picoprobe config --- builder/main.py | 10 ++++++---- platform.py | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/builder/main.py b/builder/main.py index 84cfa35..8e1110a 100644 --- a/builder/main.py +++ b/builder/main.py @@ -368,10 +368,12 @@ elif upload_protocol in debug_tools: ] openocd_args.extend( debug_tools.get(upload_protocol).get("server").get("arguments", [])) - if env.GetProjectOption("debug_speed"): - openocd_args.extend( - ["-c", "adapter speed %s" % env.GetProjectOption("debug_speed")] - ) + # always use a default speed directive of 1000khz or an otherwise configured speed + # otherwise, flash failures were observed + speed = env.GetProjectOption("debug_speed") or "1000" + openocd_args.extend( + ["-c", "adapter speed %s" % speed] + ) if "uploadfs" in COMMAND_LINE_TARGETS: # filesystem upload. use FS_START. openocd_args.extend([ diff --git a/platform.py b/platform.py index 106a8f4..97d4072 100644 --- a/platform.py +++ b/platform.py @@ -128,10 +128,10 @@ class RaspberrypiPlatform(PlatformBase): return board def configure_debug_session(self, debug_config): - adapter_speed = debug_config.speed or "5000" + adapter_speed = debug_config.speed or "1000" server_options = debug_config.server or {} server_arguments = server_options.get("arguments", []) - if "interface/cmsis-dap.cfg" in server_arguments: + if "interface/cmsis-dap.cfg" in server_arguments or "interface/picoprobe.cfg": server_arguments.extend( ["-c", "adapter speed %s" % adapter_speed] )