下载方式需要以下步骤:
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为高。
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区开始执行程序,程序就开始正常运行。一键下载就完成