Search code examples
stm32bootloader

Stm32F4 Flash Memory Start Address


I want to start flash on 0x8009000address instead of 0x8000000 when I reset the stm32. I changed FLASH address in ld table and VECT_TAB_OFFSET but it didn't work.

I need to start 0x8009000 address with user code because if I get firmware update message I need to jump bootloader source code. How can I do that ?


Solution

  • The STM32F4 will start program execution from 0x0800000. That could not be changed (You could use the BOOT pins to start from RAM or system memory instead).

    If you want to use a custom bootloader, the best way is to always start the bootloader (place it at address 0x08000000) and let it jump to you application if no reprogramming is needed.