I've created a board using the STM32F405R6T6.
I am experiencing some problems: after I program the firmware onto the microcontroller, withdraw the power and reinsert, the firmware only starts to run when I press the reset button.
In the debug configuration it works: I program the chip and the code starts running. But when I program the release-configuration code I need to press the reset button.
I think it might be something related to the bootloader circuit, or even the proximity of reset capacitor. I've attached the circuits below, if someone has already gone through it or has a hint how could solve the problem, I'll be extremely grateful.
Sometimes during programming it also gives the following error "error erasing flash with vflasherase packet". Sometimes the error disappeared when activating boot, but not always.
SOLUTION:I found the problem. I currently have a switched source (L7981A) that converts the input voltage. The time for the voltage to go from 0V to 3.3V was 35ms (I looked at the oscilloscope). Removing this switched source and externally feeding system works perfectly. I'll have to rethink the source with the L7981 and see why it takes so long to get to the output voltage.