cancel
Showing results for 
Search instead for 
Did you mean: 

What happen if BOOT0 is not connected to GND?

volkan_
Associate II

Hi everyone, 

Is that not connecting BOOT0 to GND a problem? I forgot to connect it. İs it fine to be floating? 

Thank you in advance.

 

1 ACCEPTED SOLUTION

Accepted Solutions
Peter BENSCH
ST Employee

A pull-down is only necessary to protect the STM32 if, for whatever reason, the pin should have a high level. If you know this for your 2000 devices and can rule it out, there is no reason not to connect the pins and BOOT0 together to GND. But as @Tesla DeLorean already mentioned, low should actually be realised via a pull-down.

Good luck!
/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

8 REPLIES 8
Peter BENSCH
ST Employee

No, BOOT0 is not allowed to float under any circumstances because the high-resistance pin reads a different state every time it is started and then jumps to the bootloader incorrectly, for example!

Regards
/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

btw

@Peter BENSCH ,

Wouldn't it be a great idea for future cpu products, to put a pulldown , or pullup as on NRST,  to all important pins for a successful start of the core ? 

If you feel a post has answered your question, please click "Accept as Solution".

Hi @Peter BENSCH,

Thank you for your reply. I forgot to connect BOOT0 pin to GND. I already produced 2000 PCB on which BOOT0 is floating. I am searching a way to save my production. Is it safe/acceptable to short BOOT0, PB8, PB9 and VSS pins, thus make it GND as shown in picture? I am not using PB8 and PB9 pins in my design. 

 

Thank you

 

volkan__0-1706021181942.png

 

Peter BENSCH
ST Employee

If you are not using PB8 and PB9 in the project, you can connect them together with BOOT0 to VSS i.e. GND. However, to be on the safe side, check that PB8 and PB9 are set as inputs in the program (analogue or digital) so that an output does not inadvertently try to drive VSS to VDD level.

Good luck!
/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

What happens? Often indeterminate operation, especially if the supply rises slowly. Can lead to the ROM code being run rather than user code in FLASH. In the field this is generally undesirable.

I doesn't have to be directly connected to Ground, better to use a pull down, then a test fixture can be used to change the level in production programming or test situations.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

@AScha.3 It could be a good idea to put pulls on these pins, but I don't know the reasons why it hasn't been implemented yet. However, it is explicitly stated in the documents - if you read them - and find it.

 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Thank you Peter for the reply. I will define PB8 and PB9 as GPIO input in software. One last question. Is it better option to short  PB8, PB9 and BOOT0 pins and connecting them using single 10k ohm pull down resistor to ground or using pull down will not make any difference? 

 

volkan__0-1706024776197.png

 

Peter BENSCH
ST Employee

A pull-down is only necessary to protect the STM32 if, for whatever reason, the pin should have a high level. If you know this for your 2000 devices and can rule it out, there is no reason not to connect the pins and BOOT0 together to GND. But as @Tesla DeLorean already mentioned, low should actually be realised via a pull-down.

Good luck!
/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.