Stm32 一键下载电路详解

前言

最近在又要折腾 stm32 了,所以翻出了角落里的开发板,先复习下怎么一键下载来着

一键下载

硬件连接:
BOOT0 < == > GND
BOOT1 < ===>GND
在这里插入图片描述

然后设置 mcuisp 设置界面如下:
在这里插入图片描述

首先点击下读器信息,检查是否 STM32 芯片的能正常进入下载模式
然后选择好要下载的 hex 文件,点击开始编程就下载完了。

如此神奇的过程,所以有了想了解一下原理的想法。

一键下载原理

硬件原理图

手头这块板子一般下载相关的硬件原理图如下:
在这里插入图片描述

其实只涉及到 BOOT0 跳帽,这里平时接到地就好了,不用操心。

跳帽与启动

下面介绍下这两个跳帽的作用:
在这里插入图片描述

其实上面的电路搞那么复杂,就是想通过控制 BOOT0 高低电平,来实现启动不同存储位置的程序,以实现下载的。

存储映射

不同地址映射的存储:
在这里插入图片描述

串口下载程序由来

在这里插入图片描述

与内嵌程序交互流程:
在这里插入图片描述

一键下载流程

有了原理图,也了解了硬件,有了理论指导后,再在再来了解下实际流程
以读器件信息为例,来了解下整个操作流程:

通过 USB 控制机器复位握手

软件流程:
在这里插入图片描述

示波器波形 1:
在这里插入图片描述
在这里插入图片描述

示波器波形 2:
在这里插入图片描述

在这里插入图片描述

	流程解示如下:
		1. 上位机控制串口芯片: 
		 		DTR 低 ===>  DTR_N  高 ==>  RESET# 低
		 		RTS 高 ===>  RTS_N 低  ==> BOOT0 高 

	 	2. 延时 100ms 等待芯片复位完成
		
		3. DTR 高 => DTR_N 低 => RESET# 高 ,复位完成,需要上拉 
			此时会从系统存储器启动,即从 ST 产线烧入的自举程序启动
	 		 	因为此时:
	 		 		BOOT0:  1 
	 		 		BOOT1:  0 

	 4. 这时候上位机会发送 0x7F 进行握手
	 	此时的上下发的数据如下图:

在这里插入图片描述

解读

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值