2020-05-30 07:10 PM
I have a custom board which always enters the DFU USB system bootloader when powering on, even though BOOT0 & BOOT1 pins are driven to ground. After I load a simple test program on it (via dfu-util), it runs the program just fine. However, when I remove power, it ends up back in the bootloader when I power it back on.
I've attached the schematic. It's based on another board design which works just fine.
I feel at a lost for why this could be happening. I've read the datasheet and the bootloader application note (AN2606). I've tested that the BOOT0 & BOOT1 pins are connected to ground. Is there another way that the chip could automatically go to the booloader and not execute the user program on power-up?
Thank you!
2020-06-03 06:38 AM
How is NRST connected? Is it really floating?
2020-06-03 08:26 PM
Yes, it's floating.
2020-07-04 01:53 AM
After playing with it some more, it turns out that replacing the pulldown resistor with a 100nF capacitor fixed it. (I figured this out after trying an RC circuit with it). I'm not sure if this makes sense to anyone, but that's where we are.
2020-07-04 04:44 AM
Hello,
I've got the same issue with a STM32F091 in TQFP48 on my board. Under a magnification glass I spotted some remains/splits of solder (small balls/filaments) between some pins (I cannot say any more, what pins that were). I cleaned the board, and the problem has gone. Please check for any filaments between and even under the pins and the quality of soldering: sometimes a pin can just slightly touch the pad hovering over it and not being soldered properly.
2020-07-04 01:56 PM
So, I asked, you answered and that's it. You didn't have a single thought that it might be the problem? No thinking, no reading documentation... Especially AN4488 section 3.1 and reference schematic. Let's better search for some b.l.a.c.k. magic nonsense "solution" putting random parts somewhere...
2020-07-05 05:59 PM
No need to get aggressive/offended Piranha. After you asked, I tried adding a capacitor as recommended in the documentation and it did not solve the issue. I'm not looking for some b.l.a.c.k. magic nonsense solution, but when people's recommendations and the documentation doesn't help, you just start trying anything you can to get it working.
Section 3.1 of AN4488 says: "The products listed in Table 1 do not require an external reset circuit to power-up correctly."
The reason I tried and RC circuit was the previous board didn't have this issue and the only difference between boards was the RC circuit on the BOOT0 pin. Very odd and likely not the actual source of the issue, but possibly an interesting bit of information.
If you're sitting on information which could help, I'm all ears.