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为高。



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区开始执行程序,程序就开始正常运行。一键下载就完成

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32是一种微控制器,它具有丰富的功能和灵活的架构,可以用于各种应用领域。一键开机电路是一种设计,可以通过简单的操作实现设备的快速启动。软件部分则是对STM32进行编程,以实现一键开机功能。 在一键开机电路中,通常会使用一个按钮来触发开机操作。当用户按下按钮时,按钮的信号会被传递给STM32微控制器。在软件方面,可以通过配置IO口为外部中断,以便在检测到按钮按下时触发相应的中断程序。 在中断程序中,我们可以编写代码来初始化各个外设,并配置系统时钟和其他必要的功能。然后,可以开始执行主程序,该程序可以包括用户自定义的功能,以及与外部设备的通信和控制等。 在软件方面,需要使用STM32的集成开发环境(如Keil等)来编写程序,并利用相关的库函数和驱动程序来实现一键开机功能。首先,我们需要编写中断处理函数,然后进行IO口的初始化和中断配置。接下来,需要编写主程序,其中包括各个外设的初始化、系统时钟的配置等。 在软件开发过程中,还需要注意异常处理和错误处理,以确保系统的稳定性和可靠性。此外,还可以添加一些额外的功能,如状态指示灯、电源管理等,以增加便利性和用户体验。 总之,STM32一键开机电路软件是对STM32微控制器进行编程来实现一键开机功能的过程。通过合理的设计和正确的编程,可以实现快速启动和可靠的系统操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值