¡Lo conseguí!
Y como siempre en estos casos, era una puñetera chorrada la que me estaba volviendo loco desde hace un montón de días.
Resulta que el jodido CubeMX tiene por defecto el periférico "SYS" configurado como "No debug". Ha bastado cambiar eso para que todo funcione como debería.
Muchas gracias por vuestra ayuda.