Vermutlich deaktiviert deine eigene Firmware den SWD Anschluss oder legt
den µC schlafen (dann geht SWD nämlich auch nicht mehr).
Auf den Bluepill Boards ist die übliche Vorgehensweise, dass das eigene
Programm nach dem Reset erstmal 1-2 Sekunden wartet, bevor es SWD
deaktiviert (wenn überhaupt). Dann kann man zum Verbindungsaufbau den
Reset Taster drücken.
Es geht auch ohne dieses Delay, aber das Timing ist kniffelig.
Alternativ kannst du den Boot0 Jumper auf HIGH umstecken, dann startet
deine Firmware nicht.
> Und wieso legen die den Reset PIN nie mit auf den SWD Anschluss?
Weil das Board für Arduino gemacht wurde. Weder Arduino noch dessen
Bootloader deaktivieren die SWD Schnittstelle. Außerdem enthält der
Bootloader das oben genannte Delay.
Die China ST-Link Sticks haben dementsprechend auch keinen Reset
Ausgang.
Ja, das ist außerhalb von Arduino suboptimal.
Die Möglichkeit, während des Reset connecten zu können, ist zwar bei
allen STM32 gegeben, bei anderen ARM Controllern jedoch nicht
selbstverständlich.