diff --git a/builder/main.py b/builder/main.py index 7ff7bb7..3bf14b1 100644 --- a/builder/main.py +++ b/builder/main.py @@ -429,18 +429,28 @@ elif upload_protocol in debug_tools: openocd_args = ["-d%d" % (2 if int(ARGUMENTS.get("PIOVERBOSE", 0)) else 1)] openocd_args.extend( debug_tools.get(upload_protocol).get("server").get("arguments", [])) - openocd_args.extend([ - "-c", "adapter_khz %s" % env.GetProjectOption("debug_speed", "5000"), + openocd_args.extend( + [ "-c", - "program_esp {{$SOURCE}} %s verify" % - board.get("upload.offset_address", "$ESP32_APP_OFFSET"), - ]) - for image in env.get("FLASH_EXTRA_IMAGES", []): - openocd_args.extend([ - "-c", - 'program_esp {{%s}} %s verify' % - (_to_unix_slashes(image[1]), image[0]) - ]) + "adapter_khz %s" % env.GetProjectOption("debug_speed", "5000"), + "-c", + "program_esp {{$SOURCE}} %s verify" + % ( + "$FS_START" + if "uploadfs" in COMMAND_LINE_TARGETS + else board.get("upload.offset_address", "$ESP32_APP_OFFSET") + ), + ] + ) + if "uploadfs" not in COMMAND_LINE_TARGETS: + for image in env.get("FLASH_EXTRA_IMAGES", []): + openocd_args.extend( + [ + "-c", + "program_esp {{%s}} %s verify" + % (_to_unix_slashes(image[1]), image[0]), + ] + ) openocd_args.extend(["-c", "reset run; shutdown"]) openocd_args = [ f.replace( @@ -449,9 +459,11 @@ elif upload_protocol in debug_tools: platform.get_package_dir("tool-openocd-esp32") or "")) for f in openocd_args ] - env.Replace(UPLOADER="openocd", + env.Replace( + UPLOADER="openocd", UPLOADERFLAGS=openocd_args, - UPLOADCMD="$UPLOADER $UPLOADERFLAGS") + UPLOADCMD="$UPLOADER $UPLOADERFLAGS", + ) upload_actions = [env.VerboseAction("$UPLOADCMD", "Uploading $SOURCE")] # custom upload tool