Difference between revisions of "Boot0"

From Stm32World Wiki
Jump to navigation Jump to search
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:STM32]][[Category:STM32 Hardware]]{{metadesc|STM32 Boot0 pin}}
+
[[Category:STM32]][[Category:STM32 Hardware]]{{metadesc|STM32 Boot0 pin documentation and information}}
All [[STM32]] [[MCU]]s includes a [[GPIO]] pin labelled [[Boot0]].  This pin is used to select the [[STM32 Boot Modes|boot mode]]
+
All [[STM32]] [[MCU]]s includes a [[GPIO]] pin labelled [[Boot0]].  This pin is used to select the [[STM32 Boot Modes|boot mode]].
 +
 
 +
See this page for how to jump to the System bootloader from an application: [[STM32 Jump to System Memory Bootloader]]
 +
 
 +
It is important to understand that if using a [[ST-Link]] device with SWD connection it is '''not''' necessary to change the boot0.  The [[ST-Link]] will reset the [[MCU]] without any need to mess with [[Boot0]].
  
 
== Hardware design ==
 
== Hardware design ==
Line 7: Line 11:
  
 
If the pin is left unconnected in a [[:Category:STM32 Hardware|hardware]] design it will "probably work", but it "might" on occasion detect a "high" on the pin and therefore decide to switch to the internal bootloader.
 
If the pin is left unconnected in a [[:Category:STM32 Hardware|hardware]] design it will "probably work", but it "might" on occasion detect a "high" on the pin and therefore decide to switch to the internal bootloader.
 +
 +
The proper way to deal with it can be seen on [[User:Lth|my]] [[Green Pill]] design:
 +
 +
[[File:Reset and Boot0.png|600px]]
 +
 +
The button SW2 is of course optional but while the pull-up resistor on the reset line (as indicated) is optional, the pull-down resistor R5 on [[Boot0]] is '''not''' optional.
 +
 +
The strength of the pull-down is not very critical.  Anything from 10k to 1M will do the job alright.

Latest revision as of 12:10, 11 November 2024

All STM32 MCUs includes a GPIO pin labelled Boot0. This pin is used to select the boot mode.

See this page for how to jump to the System bootloader from an application: STM32 Jump to System Memory Bootloader

It is important to understand that if using a ST-Link device with SWD connection it is not necessary to change the boot0. The ST-Link will reset the MCU without any need to mess with Boot0.

Hardware design

It is extremely important to pull the Boot0 pin low during reset for normal operation.

If the pin is left unconnected in a hardware design it will "probably work", but it "might" on occasion detect a "high" on the pin and therefore decide to switch to the internal bootloader.

The proper way to deal with it can be seen on my Green Pill design:

Reset and Boot0.png

The button SW2 is of course optional but while the pull-up resistor on the reset line (as indicated) is optional, the pull-down resistor R5 on Boot0 is not optional.

The strength of the pull-down is not very critical. Anything from 10k to 1M will do the job alright.