In meinem Bootloader setze ich VTOR so, dass es passt und springe dann
in das Applikationsprogramm.
Wenn Du die Sourcen des Applikationsprogramms vom der CubeMX Software
erstellen lässt , überschreibt das Applikationsprogramm allerdings den
VTOR wieder. (Über den Sinn kann man streiten, STM machts aber so)
Dann musst Du den ominösen VTOR_OFFSET im source code suchen und
anpassen.
Ausserdem musst Du den MSP richtig laden, Das mache ich bei mir auch im
Bootloader, indem ich den MSP aus der Vector Table des
Applikationsprogramms lade (schon im Bootloader)
Ist denn de bootloader unter Deiner Kontrolle? Dann kannst Du gucken, ob
er den VTOR und MSP lädt, bevor er ins Applikationsprogramm springt.