cancel
Showing results for 
Search instead for 
Did you mean: 

Pulling BOOT0 Pin Down

Justin K.
Associate II
Posted on March 26, 2018 at 06:30

Hello,

I was wondering if the resistor to pull down the BOOT0 pin is necessary for normal operation, assuming you want to boot from flash memory. I was trying to find on the datasheet (STM32F0 series) to try and find more about the pin information but all I could find was the maximum allowed voltage on the pin.

Thank you for your help.

#stm32f0 #boot0 #stm32f072c8t6
10 REPLIES 10
AvaTar
Lead
Posted on March 26, 2018 at 08:27

I was wondering if the resistor to pull down the BOOT0 pin is necessary for normal operation, assuming you want to boot from flash memory.

I would say yes.

See the Reference Manual for your part, which should be RM0091

http://www.st.com/resource/en/reference_manual/dm00031936.pdf

, section Boot configuration (page 52).

I was trying to find on the datasheet (STM32F0 series) to try and find more about the pin information but all I could find was the maximum allowed voltage on the pin.

ST uses to separate electrical data in the Datasheet, and 'logical' data (behavior of core & peripherals) into the Reference Manual.

Other vendors put all in one document.

Posted on March 26, 2018 at 14:49

You really want an external pull down so it doesn't float and have threshold conditions if the supply ramps slowly. Seen a bunch of posters with issues when they failed to do this.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on March 26, 2018 at 15:02

Is the resistor necessary or can I just directly connect it to ground?

Posted on March 26, 2018 at 15:27

As Clive suggested, you probably want an external pull-down, to get reliable startup behavior.

And a value large enough to easily override it if you need to start into the System Bootloader mode (e.g. to do a mass-erase).

A direct connection to GND might make this troublesome.

Posted on March 26, 2018 at 16:14

If you ground the pin it makes the part very difficult to program/recover in production or field environments. The System Loader provides access via USART, USB, etc depending on the part/family.

If you don't want staff from those departments to come and throttle you for making a product that is hard to build/test/debug/repair you really want to think about what you're doing, and how you're going to provide access to pins to facilitate their work, and keep options open.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
andrewandrew91
Associate II
Posted on March 26, 2018 at 20:14

To ensure stability on a finished product, yes, always add the pull-down resistor to the boot0 pin. 

If you are simply looking for a practical resistor value I suggest using a 100 K pull-down resistor.  This is the standard value I use with all of our designs and have never had an issue reported across a significant number of units.  Your mileage may vary.

Posted on March 26, 2018 at 20:33

I'd be a bit more aggressive than that, the weak poly-silicon resistors in the design are ~40K, and you're not looking for large RC constants on pins sampled at reset. You're looking for a pretty definitive state.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on March 27, 2018 at 02:02

I use a 10K on all my boards without issue.

I use the SWD connector, any board can be reprogrammed in the factory.

Bill Gates decided that he cant make the program work first time, 

He didn't invent the term UPDATE FIRMWARE, but he took to it like sump oil on a tissue, inseparable 

I think it is a very poor effort that a product needs an update.

Posted on March 29, 2018 at 09:38

You can connect it to ground directly. The pin is an input pin only (no output) for selecting the boot memory. If you always boot from flash, you can just ground the pin. And of course, you will always use SWD for programming.This is my case for all STM32 designs.