STM32 programming and BOOT0 pin The 2019 Stack Overflow Developer Survey Results Are InSTM32F102 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

Multi tool use
Multi tool use

What to do when moving next to a bird sanctuary with a loosely-domesticated cat?

Why isn't the circumferential light around the M87 black hole's event horizon symmetric?

What is the accessibility of a package's `Private` context variables?

Are there incongruent pythagorean triangles with the same perimeter and same area?

What do hard-Brexiteers want with respect to the Irish border?

Time travel alters history but people keep saying nothing's changed

Should I use my personal e-mail address, or my workplace one, when registering to external websites for work purposes?

Is bread bad for ducks?

"as much details as you can remember"

Are there any other methods to apply to solving simultaneous equations?

Can a rogue use sneak attack with weapons that have the thrown property even if they are not thrown?

How to save as into a customized destination on macOS?

Can one be advised by a professor who is very far away?

Protecting Dualbooting Windows from dangerous code (like rm -rf)

Origin of "cooter" meaning "vagina"

Have you ever entered Singapore using a different passport or name?

What does Linus Torvalds mean when he says that Git "never ever" tracks a file?

Aging parents with no investments

What is the motivation for a law requiring 2 parties to consent for recording a conversation

Is "plugging out" electronic devices an American expression?

Landlord wants to switch my lease to a "Land contract" to "get back at the city"

Identify This Plant (Flower)

How to manage monthly salary

Why hard-Brexiteers don't insist on a hard border to prevent illegal immigration after Brexit?



STM32 programming and BOOT0 pin



The 2019 Stack Overflow Developer Survey Results Are InSTM32F102 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;








1












$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?










share|improve this question









$endgroup$











  • $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
    33 mins ago

















1












$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?










share|improve this question









$endgroup$











  • $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
    33 mins ago













1












1








1





$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?










share|improve this question









$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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 4 hours ago









ningboningbo

243




243











  • $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
    33 mins ago
















  • $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
    33 mins ago















$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
33 mins ago




$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
33 mins ago










2 Answers
2






active

oldest

votes


















2












$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.






share|improve this answer











$endgroup$




















    2












    $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.






    share|improve this answer









    $endgroup$













      Your Answer





      StackExchange.ifUsing("editor", function ()
      return StackExchange.using("mathjaxEditing", function ()
      StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
      StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
      );
      );
      , "mathjax-editing");

      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
      );



      );













      draft saved

      draft discarded


















      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









      2












      $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.






      share|improve this answer











      $endgroup$

















        2












        $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.






        share|improve this answer











        $endgroup$















          2












          2








          2





          $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.






          share|improve this answer











          $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.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 3 hours ago

























          answered 3 hours ago









          ToorToor

          1,527210




          1,527210























              2












              $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.






              share|improve this answer









              $endgroup$

















                2












                $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.






                share|improve this answer









                $endgroup$















                  2












                  2








                  2





                  $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.






                  share|improve this answer









                  $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.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 3 hours ago









                  Chris StrattonChris Stratton

                  23.2k22865




                  23.2k22865



























                      draft saved

                      draft discarded
















































                      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.




                      draft saved


                      draft discarded














                      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





















































                      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







                      4yrs,esEd 6fjv,KiBlppE2v,TQ ozBg 6kru5fJtvif 19C nHQMFUpRU,GccKs,yg6g7FjqUPZjIN,fumok,b,DjxH JiQLBdsaj
                      4M6qjK6cY0tVZq5YrwSkxU0qvfvyltQa4yuAtX2Y,sVICT1KZQXPcx,BW8Pn4VwrXntp28

                      Popular posts from this blog

                      What is the result of assigning to std::vector::begin()? The Next CEO of Stack OverflowWhat are the differences between a pointer variable and a reference variable in C++?What does the explicit keyword mean?Concatenating two std::vectorsHow to find out if an item is present in a std::vector?Why is “using namespace std” considered bad practice?What is the “-->” operator in C++?What is the easiest way to initialize a std::vector with hardcoded elements?What is The Rule of Three?What are the basic rules and idioms for operator overloading?Why are std::begin and std::end “not memory safe”?

                      Creating centerline of river in QGIS? The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Finding centrelines from polygons in QGIS?Splitting line into two lines with GRASS GIS?Centroid of the equator and a pointpostgis: problems creating flow direction polyline; not all needed connections are drawnhow to make decent sense from scattered river depth measurementsQGIS Interpolation on Curved Grid (River DEMs)How to create automatic parking baysShortest path creation between two linesclipping layer using query builder in QGISFinding which side of closest polyline point lies on in QGIS?Create centerline from multi-digitized roadway lines Qgis 2.18Getting bathymetric contours confined only within river banks using QGIS?

                      SQL Server 2016 - excessive memory grant warning on poor performing query The Next CEO of Stack OverflowFix for slow SQL_INLINE_TABLE_VALUED_FUNCTIONLarge memory grant requestsPoor performing Query -Tsql execution plan - estimated number of rows =1 Paste the PlanMSSQL - Query had to wait for memory grantRow estimates always too lowBad performance using “NOT IN”Warning about memory “Excessive Grant” in the query plan - how to find out what is causing it?Optimizing table valued function SQL ServerWhen does SQL Server warn about an Excessive Memory Grant?Warning in Execution Plan