It looks like you are setting the $pc to an incorrect value (the address of the interrupt vector table rather than the reset handler). Instead you would need to parse the interrupt vector table and extract the reset handler address from it (see ARM Cortex-M3 documentation for details). Alternatively, please consider programming the ELF file instead. Its header explicitly contains the entry point address and most tools automatically set $pc accordingly when loading ELF files.
thank you for the suggestion, I found the solution:
get address of “Reset_Handler” function
set $pc to the address
But now I have a new problem; interrupts are not working with the built “Blinky” example – i.e. SysTick_Handler is newer called.
Looking at lds everything is in SRAM, also everything else works, but looking through the sources the vector table does not get relocated (VTOR is not explicitly set), is this expected to be done automatically or is it really missing?
Depending on the SDK you are using, the VTOR might indeed not get set explicitly (not all device SDKs support this). Setting it manually from your code (guarded with #ifdef sram_layout) should fully fix the problem through.