cancel
Showing results for 
Search instead for 
Did you mean: 

BOOT0 pin problem on STM32F302RE

HAENEL.Cyril
Associate II

Hello, I use STM32 for years, and on a new board I use for the first time a F3 series : STM32F302RE

I use exactly the same schematic as all my previous board, and for the BOOT0 pin, I have a 2.2K pull-up pull-down, and a jumper to set the pin to 3.3V when I need to reflash it through UART1 with internal system bootloader. On this project I don't use this jumper because I use an stlink/V2 cable to flash.

On a board I work on, after some days with everything fine, with no reason the board stopped working. Read/write flash was OK but impossible to boot. I finally checked the BOOT0 pin, and found 1.6V on the pin, even with the 2.2K pull-down resistor ! Thus the BOOT0 pin now leaks ~700µA of current !!!

If I short the pin directly to the ground, the chip boot normally, but this behavior is not normal, I never see that in 8 years I use STM32.

What happened to this BOOT0 pin !?

Also, I worked on a second board, and some hours later I had the same problem.

It worry me a lot, because after production if the problem appears after delivery, the board will stop working because jumping on the internal system bootloader at power-up....

Regards

Cyril

17 REPLIES 17

Try to bulkerase the chip, and change all fuses/option bytes to default values. After that, perform a power reset.

Please report back if it made any change.

JW

PS. I am not ST and this is not any "secret recipe"; I'm just trying to help by wild guessing.

HAENEL.Cyril
Associate II

Thank you for suggestion, but it does not help. Option byte was already to default values.

My understanding is the BOOT0 pin has an internal hardware problem, but can't understand why. Never see that in 8 years using thousands of STM32 in my products.

Is there any ST engineer here if they already seen this problem, and why it appears ?

Regards

Uwe Bonnes
Principal II

Hardware fault may happen out of nowhere, but quite rare. Consider first some external misshap. Replace the chip and better test with more board.

This is a primarily user-driven forum, with only casual ST presence. You may want to talk to ST directly, perhaps through the web support form.

I don't believe it's a damaged pin, my guess is that you inadvertently activated some non public feature. This is why I asked about the option bytes. Did you modify them at all, from program or using the debugger/programmer? Do you perform FLASH programming in your program?

As I've said I am not ST and only speculating here.

JW

HAENEL.Cyril
Associate II

Hello,

No I don't think I activated some hidden feature. Never touched option byte, and I checked they are all with default value.

I don't use flash programming for now in my program. The pin is sinking a lot of current to 3.3V, it's clearly an internal hardware problem for me.

And on another board, now I have a similar problem with /RST pin. Yesterday the board was working fine, this morning it doesn't want to startup.

After checking all signals, I found the /RST pin stucks to 1.2V, with no reason. On my schematic I followed the datasheet recommendation, I just have a 100nF capacitor to GND on /RST pin !!! I removed it to check if the leakage to GND was coming from the capacitor, but the answer is no ! The leakage to GND comes from inside the STM32F302 !!

I added an external 1K pull-up to 3.3V on /RST pin and now the board boots normally. That's incredible, it makes me crazy !!! I can't deliver boards in these conditions

Piranha
Chief II

Maybe some issue with grounding, power supply or it's startup sequence?

HAENEL.Cyril
Associate II

There is nothing special on this board comparing thousands of board I already designed/delivered with F0 or F1 family. This is a 4 layers boards with a complete GND plane. There is a 3.3V regulator which supplies VDD and VDDA of the STM32F302RE, will all decoupling capacitors recommended in datasheet.

HAENEL.Cyril
Associate II

The paranormal problems continue....

I have 2 digital inputs on the board (PA0 and PA1), with external pull down, which are able to wake up the STM32 from sleep on rising edge.

Yesterday evening, I tell to my board to enter in sleep mode, and this morning, the board was awake. The board told me it received a wake up event from one of these 2 inputs.

Physically impossible, nothing was connected on the input ! So I connected my scope on these input, and one of these 2 inputs is stuck to 3.3V, despite the pull down resistor !

I cut the pcb trace to check, and the current leak to 3.3V is coming from the STM32 (PA0). If I try to configure this pin in output, it works as expected. But in input mode, activating the pull down resistor as no effect, the pin is stuck to 3.3V.

Never seen problems like this in 22 year of hardware development and more than 8 year working with STM32.

These STM32F302RE I have in stock are coming from mouser. Is there a way to check if these parts are really genuine parts !?? I'm going crazy !!

Okay I understand what you write, but this sounds much like a damaged chip, whatever the reason may be.

JW