Duanxx的STM32学习:STM32下载方式选择
前几天熟悉了STM32的启动方式。主要由Boot0和Boot1设置
如今须要解决的就是STM32的下载的问题。
一開始的时候,我选择的是SWD下载。这样的下载方式须要Boot0=0。Boot1=0。占用两个线,同一时候须要两个电阻和一个电容:
可是我的设计上须要使用串口。利用串口下载程序也是下载到Main Flash中,既然这种话,直接使用串口下载程序就能够了。
可是使用串口下载程序须要重复的将Boot0抬高,然后复位,然后将下载程序,然后将Boot0拉低,这个操作比較的复杂。
在正点原子的开发板上看到过他的利用串口一键下载程序的电路,能够自己主动的完毕上面的操作,只是也挺麻烦的。
这里我測试了一下串口下载的方式,发现了两个非常有意思的现象:
1:Boot0和Boot1即便没有通过下拉电阻接地,也就是处于悬空的状态,STM32也能够从Main Flash中启动
2:在通过串口下载程序时,Boot0必须上拉。Boot1必须下拉。
对于第一个现象,显然是不可取的,不管怎么样。还是不要让引脚处于悬空状态(电平不确定的状态)比較好。
对于第二个现象,是显然的
只是这样就能够有以下这样的下载设计了:
这里Boot0和Boot1,仍然是通过100K的电阻下拉
然后把Boot0通过一个引脚或者过孔引出来,在下载程序时,Boot0接上3.3V,考虑到限流的问题,能够在Boot0和3.3V中间加一个4.7k的电阻。
这里电阻和3.3V均不在板子上,而在在串口串口助手那端。
至于复位操作,直接用断电来取代就能够了。无需外接复位键。