首页 > 代码库 > Duanxx的STM32学习:STM32下载方式选择

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均不在板子上,而在在串口串口助手那端

至于复位操作,直接用断电来代替就可以了,无需外接复位键。


Duanxx的STM32学习:STM32下载方式选择