why do you want to rewrite everyting ? Reset handler etc ... Want template startupxxx.s will do fine no?
just use that at first at least. That is proven working.
wihout this “common” .s i would make sure “do not use standard start file” linker option is chedk
that can make standard symbol that you could miss to come from standard crt0 and play you tricks .
are your sure your “vector” section is well placed in the ld at cpu reset vector adress ?
Are you sure sp is setup by default ? in most reset handler s file that is set at very first desite “estack in the vector table”
Normaly if yo not not set stop at main option on your debug config you can debug from reset ,
just set a bkp on it or even hardcode the reset vetor in brake point.
I have use that feature to debug modfied startup.s (debug cmm copy, custom boot laoder etc ...)
if you can’t debug your reset it may be a signe it is not execute on reset , double check in map file symbol and addr
i’m not aware of “openocd” or other stm32 debugger doing anything specific on real debug but wome “reset conect option”.
some debugger play trick and bypass the slow crt0/startup when on simulator but am not aware of anything such here .
They are strnage conect reset option very obscure to me you want to look at dig for
“use hardware reset, connect under reset” reset_config srst_only srst_nogate