This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

understanding ARM vector table M7

Hi,

I have a question about ARM cortex M7, From the data sheet I understand that Reset handler for core m7 is located at 0x00000004. from the startup file on stm32 cube IDE. when i watch the value of reset handler, the value is shown as 0x80000240

However when i use memory browser and go to 0x00000004, the value stored at this memory location is totally different. What am i doing wrong?


  • the value is shown as 0x80000240

    0x8xxxxxx would normally be an address in external RAM, according to https://developer.arm.com/documentation/dui0646/c/the-cortex-m7-processor/memory-model

    An STM32 probably has on-chip flash memory, and a reset vector that points to somewhere within that flash memory (bootloader?)

    Perhaps your build environment is creating an application that either runs from RAM, or is expecting the bootloader to relocate the vector table.  MOST such environments will still put a "reset vector" at the 0x4 offset of their "base address", even though the actual chip reset will go somewhere else, and it's up to the bootloader or whatever to figure out the actual start address...