You can use a second Pico as your debugger.
Download one of these firmware files:
- picoprobe.uf2 - Official raspberrypi probe firmware supporting CMSIS-DAP. (Source)
- raspberry_pi_pico-DapperMime.uf2 - Based upon an older version of the CMSIS-DAP sources. (Source)
- rust-dap-pico-ramexec-setclock.uf2 - If you have good wiring between your Pico's, this firmware will give faster programming. (Inofficial build by @9names.) (Source)
Then:
- Put the Pico into USB Mass Storage Mode by holding the BOOTSEL button while connecting it to your computer with a USB cable
- Open the drive RPI-RP2 when prompted
- Copy the uf2 firmware file from Downloads into RPI-RP2
- Connect the debug pins of your CMSIS-DAP Pico to the target one
- Connect GP2 on the Probe to SWCLK on the Target
- Connect GP3 on the Probe to SWDIO on the Target
- Connect a ground line from the CMSIS-DAP Probe to the Target too
https://therealprof.github.io/blog/usb-c-pill-part1/
https://github.com/probe-rs/hs-probe
It's getting harder to source these with stm32f103's as time goes on, so you might be better off choosing a stm32f103 dev board
Firmware: https://github.com/devanlai/dap42
https://www.nxp.com/design/microcontrollers-developer-resources/lpc-link2:OM13054
https://www.nxp.com/part/MCU-LINK#/
You can use DAPLink firmware with any of it's supported chips (LPC4322, LPC11U35, K20, K22, KL26). You'll need to use the 'develop' branch to use GCC to build it. You'll need to find a chip with the correct
Firmware source: https://github.com/ARMmbed/DAPLink/tree/develop