i'm playing with stm32f407g-disc1 evaluation board and exploring the possibility to update firmware via USB host port (the micro USB one) from a USB memory stick.
From AN3990 i understand that i need to flash the smt32f4 mcu with the "firmware upgrade application" and set my application to start from memory address 0x08008000.
I modified "system_stm32f4xx.c" in the firmware upgrade application with:
Code: Select all
#define VECT_TAB_OFFSET 0x8000
Connecting a usb stick with my image.bin to the micro USB and hitting the reset button i get the blue LED on which turns off after a few seconds and then the green LED turns on signaling my application has been downloaded to stm32f4.
If i check the stm32f4 memory content with CUBEprogrammer i can see that my application is effectively stored at address 0x08008000
The problem is that my application (simple LED blink) never starts, either if i press user button after download or after board hardware reset.
So i'm missing something or have done something wrong.
From this thread i've read about the build_opt.h file:
viewtopic.php?t=1611
i use STM32 core 2.5.0, the build.opt.h file is not generatated when i export the compilation, so i created it manually and added the following:
Code: Select all
-DVECT_TAB_OFFSET=0x00008000U
However still my blink application won't start so there's defintely something wrong i'm doing here

Don't know if it helps but looking at my bin files with and without the build_opt.h they look the same in size
Can you help?
Thank you!