STM32 programming and BOOT0 pin Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)STM32F102 USB ProgrammingSTM32F303RET's core is always halted after programmingST-Link debugger/programmer failed to find STM32L152 MCU on designed PCBSTM32 prototype unable to connect to PC using ST-Link/V2 SWDSTM32 'Connect under reset' suddenly stopped workingCannot Program a Custom STM32 BoardWhy is this hex file different than the code programmed onto the device?STM32F091 Jump to Bootloader from applicationSTM32 & ST-LINK - SWD connector not workingSTM32F0 - interrupt/breakpoint not working on certain hardware
Why wasn't DOSKEY integrated with COMMAND.COM?
Take 2! Is this homebrew Lady of Pain warlock patron balanced?
Illegal assignment from sObject to Id
Central Vacuuming: Is it worth it, and how does it compare to normal vacuuming?
How to tell that you are a giant?
How to write this math term? with cases it isn't working
How were pictures turned from film to a big picture in a picture frame before digital scanning?
Why does it sometimes sound good to play a grace note as a lead in to a note in a melody?
What initially awakened the Balrog?
Most bit efficient text communication method?
How to write the following sign?
Performance gap between vector<bool> and array
A term for a woman complaining about things/begging in a cute/childish way
Why should I vote and accept answers?
Selecting user stories during sprint planning
Using audio cues to encourage good posture
Why does the remaining Rebel fleet at the end of Rogue One seem dramatically larger than the one in A New Hope?
Do wooden building fires get hotter than 600°C?
Question about debouncing - delay of state change
Can a new player join a group only when a new campaign starts?
Why is it faster to reheat something than it is to cook it?
Why do we bend a book to keep it straight?
Is grep documentation about ignoring case wrong, since it doesn't ignore case in filenames?
What is this clumpy 20-30cm high yellow-flowered plant?
STM32 programming and BOOT0 pin
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)STM32F102 USB ProgrammingSTM32F303RET's core is always halted after programmingST-Link debugger/programmer failed to find STM32L152 MCU on designed PCBSTM32 prototype unable to connect to PC using ST-Link/V2 SWDSTM32 'Connect under reset' suddenly stopped workingCannot Program a Custom STM32 BoardWhy is this hex file different than the code programmed onto the device?STM32F091 Jump to Bootloader from applicationSTM32 & ST-LINK - SWD connector not workingSTM32F0 - interrupt/breakpoint not working on certain hardware
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
$begingroup$
I am developing a STM32H7 board which will be programmed via SWD.
I am curious, is there any reason why I should connect BOOT0 pin to GND via resistor and not directly to GND?
I won't be using the bootloader but can it happen that I accidentally disable the debug port from software and then can't program the MCU via SWD anymore and need to use bootloader mode by putting BOOT0 high?
stm32 bootloader
$endgroup$
add a comment |
$begingroup$
I am developing a STM32H7 board which will be programmed via SWD.
I am curious, is there any reason why I should connect BOOT0 pin to GND via resistor and not directly to GND?
I won't be using the bootloader but can it happen that I accidentally disable the debug port from software and then can't program the MCU via SWD anymore and need to use bootloader mode by putting BOOT0 high?
stm32 bootloader
$endgroup$
1
$begingroup$
if you have a resistor to ground, then you can change the state of the pin by connecting it to Vcc ... if the pin is connected to ground directly, then you have to disconnect it before it can be pulled high
$endgroup$
– jsotola
Apr 10 at 23:33
add a comment |
$begingroup$
I am developing a STM32H7 board which will be programmed via SWD.
I am curious, is there any reason why I should connect BOOT0 pin to GND via resistor and not directly to GND?
I won't be using the bootloader but can it happen that I accidentally disable the debug port from software and then can't program the MCU via SWD anymore and need to use bootloader mode by putting BOOT0 high?
stm32 bootloader
$endgroup$
I am developing a STM32H7 board which will be programmed via SWD.
I am curious, is there any reason why I should connect BOOT0 pin to GND via resistor and not directly to GND?
I won't be using the bootloader but can it happen that I accidentally disable the debug port from software and then can't program the MCU via SWD anymore and need to use bootloader mode by putting BOOT0 high?
stm32 bootloader
stm32 bootloader
asked Apr 10 at 19:50
ningboningbo
343
343
1
$begingroup$
if you have a resistor to ground, then you can change the state of the pin by connecting it to Vcc ... if the pin is connected to ground directly, then you have to disconnect it before it can be pulled high
$endgroup$
– jsotola
Apr 10 at 23:33
add a comment |
1
$begingroup$
if you have a resistor to ground, then you can change the state of the pin by connecting it to Vcc ... if the pin is connected to ground directly, then you have to disconnect it before it can be pulled high
$endgroup$
– jsotola
Apr 10 at 23:33
1
1
$begingroup$
if you have a resistor to ground, then you can change the state of the pin by connecting it to Vcc ... if the pin is connected to ground directly, then you have to disconnect it before it can be pulled high
$endgroup$
– jsotola
Apr 10 at 23:33
$begingroup$
if you have a resistor to ground, then you can change the state of the pin by connecting it to Vcc ... if the pin is connected to ground directly, then you have to disconnect it before it can be pulled high
$endgroup$
– jsotola
Apr 10 at 23:33
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
If you're making a board, why not provide for a resistor/jumper to connect Boot0 to +V and GND? Then only populate one of them? Leave your options open. You don't need a resistor. I prefer to use a jumper rather than a resistor.
You can use header shunts as jumpers that can be easily changed but that takes more PCB space, components and more assembly work. Or just place an SMD chip footprint you can either choose to use an SMD resistor or SMD jumper (zero ohm resistor) during assembly. Then you can fiddle with things all you want after-the-fact.
$endgroup$
add a comment |
$begingroup$
I won't be using the bootloader but can it happen that I accidentally disable the debug port from software and then can't program the MCU via SWD anymore and need to use bootloader mode by putting BOOT0 high?
That's exactly why you might want to use a resistor and not a zero ohm jumper. With a resistor, you can manually override it with a piece of wire to the opposite rail start in bootloader mode once, without having to get out the hot air station and change the resistor.
Granted, if you have the hardware reset line brought out, and an SWD probe that actually drives it, and a suitable SWD software config (both common points of failure - and specifically a failure that may not be noticed in routine use, but only when this kind of recovery fails to work) then that is another way to work around disabled SWD lines.
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("schematics", function ()
StackExchange.schematics.init();
);
, "cicuitlab");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "135"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f431871%2fstm32-programming-and-boot0-pin%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
If you're making a board, why not provide for a resistor/jumper to connect Boot0 to +V and GND? Then only populate one of them? Leave your options open. You don't need a resistor. I prefer to use a jumper rather than a resistor.
You can use header shunts as jumpers that can be easily changed but that takes more PCB space, components and more assembly work. Or just place an SMD chip footprint you can either choose to use an SMD resistor or SMD jumper (zero ohm resistor) during assembly. Then you can fiddle with things all you want after-the-fact.
$endgroup$
add a comment |
$begingroup$
If you're making a board, why not provide for a resistor/jumper to connect Boot0 to +V and GND? Then only populate one of them? Leave your options open. You don't need a resistor. I prefer to use a jumper rather than a resistor.
You can use header shunts as jumpers that can be easily changed but that takes more PCB space, components and more assembly work. Or just place an SMD chip footprint you can either choose to use an SMD resistor or SMD jumper (zero ohm resistor) during assembly. Then you can fiddle with things all you want after-the-fact.
$endgroup$
add a comment |
$begingroup$
If you're making a board, why not provide for a resistor/jumper to connect Boot0 to +V and GND? Then only populate one of them? Leave your options open. You don't need a resistor. I prefer to use a jumper rather than a resistor.
You can use header shunts as jumpers that can be easily changed but that takes more PCB space, components and more assembly work. Or just place an SMD chip footprint you can either choose to use an SMD resistor or SMD jumper (zero ohm resistor) during assembly. Then you can fiddle with things all you want after-the-fact.
$endgroup$
If you're making a board, why not provide for a resistor/jumper to connect Boot0 to +V and GND? Then only populate one of them? Leave your options open. You don't need a resistor. I prefer to use a jumper rather than a resistor.
You can use header shunts as jumpers that can be easily changed but that takes more PCB space, components and more assembly work. Or just place an SMD chip footprint you can either choose to use an SMD resistor or SMD jumper (zero ohm resistor) during assembly. Then you can fiddle with things all you want after-the-fact.
edited Apr 10 at 20:27
answered Apr 10 at 20:20
ToorToor
1,716213
1,716213
add a comment |
add a comment |
$begingroup$
I won't be using the bootloader but can it happen that I accidentally disable the debug port from software and then can't program the MCU via SWD anymore and need to use bootloader mode by putting BOOT0 high?
That's exactly why you might want to use a resistor and not a zero ohm jumper. With a resistor, you can manually override it with a piece of wire to the opposite rail start in bootloader mode once, without having to get out the hot air station and change the resistor.
Granted, if you have the hardware reset line brought out, and an SWD probe that actually drives it, and a suitable SWD software config (both common points of failure - and specifically a failure that may not be noticed in routine use, but only when this kind of recovery fails to work) then that is another way to work around disabled SWD lines.
$endgroup$
add a comment |
$begingroup$
I won't be using the bootloader but can it happen that I accidentally disable the debug port from software and then can't program the MCU via SWD anymore and need to use bootloader mode by putting BOOT0 high?
That's exactly why you might want to use a resistor and not a zero ohm jumper. With a resistor, you can manually override it with a piece of wire to the opposite rail start in bootloader mode once, without having to get out the hot air station and change the resistor.
Granted, if you have the hardware reset line brought out, and an SWD probe that actually drives it, and a suitable SWD software config (both common points of failure - and specifically a failure that may not be noticed in routine use, but only when this kind of recovery fails to work) then that is another way to work around disabled SWD lines.
$endgroup$
add a comment |
$begingroup$
I won't be using the bootloader but can it happen that I accidentally disable the debug port from software and then can't program the MCU via SWD anymore and need to use bootloader mode by putting BOOT0 high?
That's exactly why you might want to use a resistor and not a zero ohm jumper. With a resistor, you can manually override it with a piece of wire to the opposite rail start in bootloader mode once, without having to get out the hot air station and change the resistor.
Granted, if you have the hardware reset line brought out, and an SWD probe that actually drives it, and a suitable SWD software config (both common points of failure - and specifically a failure that may not be noticed in routine use, but only when this kind of recovery fails to work) then that is another way to work around disabled SWD lines.
$endgroup$
I won't be using the bootloader but can it happen that I accidentally disable the debug port from software and then can't program the MCU via SWD anymore and need to use bootloader mode by putting BOOT0 high?
That's exactly why you might want to use a resistor and not a zero ohm jumper. With a resistor, you can manually override it with a piece of wire to the opposite rail start in bootloader mode once, without having to get out the hot air station and change the resistor.
Granted, if you have the hardware reset line brought out, and an SWD probe that actually drives it, and a suitable SWD software config (both common points of failure - and specifically a failure that may not be noticed in routine use, but only when this kind of recovery fails to work) then that is another way to work around disabled SWD lines.
answered Apr 10 at 20:45
Chris StrattonChris Stratton
23.4k22865
23.4k22865
add a comment |
add a comment |
Thanks for contributing an answer to Electrical Engineering Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f431871%2fstm32-programming-and-boot0-pin%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
$begingroup$
if you have a resistor to ground, then you can change the state of the pin by connecting it to Vcc ... if the pin is connected to ground directly, then you have to disconnect it before it can be pulled high
$endgroup$
– jsotola
Apr 10 at 23:33