У них есть полный JTAG, по крайней мере у некторых, поэтому если
где-то гуглится что для данного чипа есть поддержка openocd --
рекомендую делать коннектор а-ля байтбластер, программатор вида
байт-бластер (только на USB, Olimex например делает, копейки
стоит), на компе openocd и gdb. В качестве "среды": VSCode,
Eclipse, Vim... и clang/gcc. Есть наверное готовые сборки
(последнего), обычно в комплекте newlib. Волшебные фирменные
программаторы имеют недостаток, что привязывают к конкретным средствам разработки, и шаг влево-вправо невозможен. И отладчики там часто игрушечные, и компиляторы не в полной мере соответствуют современным стандартам, и исходников libc не дают (которая часто очень низкого качества к тому же). Да, с полноценным JTAG можно и не только с STM32 в будущем работать, но и с Microchip (бывший Atmel), NXP... Но у некоторых поддержки в openocd нет или JTAG.