STM32,一键下载。

下载方式需要以下步骤:

Step1:将BOOT0设置为1,BOOT1设置为0,然后按下复位键,这样才能从系统存储器启动BootLoader
Step2:最后在BootLoader的帮助下,通过串口下载程序到Flash中
Step3:程序下载完成后,又需要将BOOT0设置为GND,手动复位,这样,STM32才可以从Flash中启动


一键下载就需要通过控制BOOT0和BOOT1.

可以看出 一直将BOOT1接地就行。


BootLoader是厂家内置的程序,作用是,通过串口下载程序到Flash中。


一般设计电路都是通过 DTR RTS这两个位控制  BOOT0与RESET的状态。


这里需要用到三极管的开关电路。

基极为高,CE导通。基极为低,IB=0,Uce为高。


STM32,一键下载。_第1张图片

1、DTR RTS为高,均导通,得 BOOT0与RESET为高

2、RTS为低。拉低D7右侧点电压,得RESET为低。   BOOT0的状态,为低。

3.这时,DTR为低,Q2三极管CE断开,导致D7右侧点点位为高,拉高了RESET。

4、此时开始下载程序。


程序下载完毕后,如果设置了编程后执行,STM32会再次被复位,此时DTR#为高,RTS#为低,STM32复位后,DTR#设置为低,RTS#设置为高,那么Q2和Q3都不导通,此时,STM32重新开始启动后,检测到BOOT0为0,程序开始从主闪存存储器即Flash (由BootLoader决定)正常运行,一键下载至此就完成了。






1.MCUISP串口软件一键下载设置:

DTR低电平复位,RTS高电平进入bootload串口下载
在ch340芯片对应DTR和RTS输出电平与电脑软件设置的电平相反。CH340G IC在实际操作时引脚的变化为“DTR#拉高,RTS#拉低”,即软件设置和实际情况是取非的,相反的 一键下载电路根据ch340芯片对应引脚的控制信号完成对应功能具体实现过程如下:
2. 单片机启动设置单片机低电平复位
Boot0=0,boot1=x,从用户区flash启动Boot0=1,boot1=0,进入串口下载区Boot0=1,boot1=1,从SRAM启动改变boot0电平就可以从不同区域启动
3.一键下载电路如下:
4.当MUCISP软件点击下载后(需要选中下载后执行):DTR#,RTS#信号由MUCISP软件控制MUCISP软件设置为:
(DTR低电平复位,RTS高电平进入bootload串口下载)下载后执行程序。
按上面设置后,点击下载就会按下面过程工作:
1.当DTR#=H,RTS#=L;此时Q2导通,RESET=0,单片机复位,因为RTS#=L,Q3导通后boot0=H。
2.当DTR#=L时(Q2不导通),单片机复位结束。单片机复位后,一直保持RTS#=L,Q3导通,此时boot0=H。
3.复位后,单片机开始启动检测到boot0=H,单片机进入串口下载。3.程序下载完毕后。因为设置了下载完成执行所以单片机会再次复位
4.(此时DTR#=H,RTS#=L)单片机再次复位,
单片机复位后:DTR#=L,RTS#=H(Q2,Q3不导通),此时boot0=L;5.单片机复位后开始启动检测到boot0=0,此时就从用户flash区开始执行程序,程序就开始正常运行。一键下载就完成

你可能感兴趣的:(STM32,一键下载。)