Did you indent these or not? Multi-line arguments must be indented with at least 3 spaces.
debug_server =
/usr/local/bin/JLinkGDBServerCL
-device Cortex-M0
-speed auto
-if SWD
Also, check that the GDB server is opened at the expected port (I think localhost:3333). Check the output of /usr/local/bin/JLinkGDBServerCL -device Cortex-M0 -speed auto -if SWD manually to check that and adapt debug_port accordingly.
Wait, okay, one second. Why do you have to manually declare debug_server after all? By setting debug_tool = jlink, PlatformIO already configures its local JlinkExe sever, with the appropriate script to run.
For uploading:
And for debugging:
Can you completely remove the debug_server lines and retry?
The error message is
PlatformIO: Initializing remote target…
0x00007e78 in micros () at /Users/xxxxx/.platformio/packages/framework-arduino-samd-adafruit/cores/arduino/delay.c:45
45 ticks2 = SysTick->VAL;
.pioinit:14: Error in sourced command file:
Target does not support this command.
That’s weird. So either your JLinkGDBServerCL is newer than the one provided in the tool-jlink package and thus has some bugs fixed, or reducing the device to -device Cortex-M0 instead of -device ATSAMD21G18 helped.
Can you change the Cortex-M0 to ATSAMD21G18 so that we find out whether it’s the one or the other?