Behaviour of VTOR register on STM32H7 at reset

1

The Vector Table offset register on a Cortex M7 allows to relocate the Vector Table.

I am wondering how the Vector Table is managed when it is relocated and a soft reset occurs.

The ARM programming manual mentions that the value of VTOR after reset is "unknown".

What reset handler is used after a soft reset: the "original" one from the vector table in Flash ? Or the "relocated" one set through VTOR ?

Same question for the Stack Pointer. The Programming manual states that "On reset, the processor loads the MSP with the value from address 0x00000000". Does that mean that the Stack Pointer in a relocated Vector Table is never used ?

arm
stm32
boot

1 Answer

0

Does that mean that the Stack Pointer in a relocated Vector Table is never used ?

It is not used by the hardware. It is used by bootloader when launching the application.

What reset handler is used after a soft reset: the "original" one from the vector table in Flash

The one selected by the boot pins & boot option bytes.

The ARM programming manual mentions that the value of VTOR after reset is "unknown".

I do not think so, my programming manual shows: enter image description here Which is quite well defined :)

I am wondering how the Vector Table is managed when it is relocated and a soft reset occurs.

Same as during the hardware reset.

answered on Stack Overflow Feb 28, 2020 by 0___________

User contributions licensed under CC BY-SA 3.0