STM32自动下载电路ISP学习笔记分享
FlyMcu下载程序配置:
在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式:
ISP(In-System Programming,在系统可编程)是一种技术,它允许用户直接在电路板上对空白或已编程的器件进行编程、擦除或更新,无需将器件从电路板上取下。这一过程依赖于bootloader(自举程序),它存储在微控制器如STM32的内部ROM(系统存储器)中,主要负责通过串行外设(如USART、CAN、USB、I2C等)接收应用程序代码,并将其写入Flash内存。不同的串行接口定义了各自的通信协议,包括命令集和数据传输序列。
普通ISP下载:
1.通过板载ch340芯片,一端接电脑USB接口,一端接STM32的U1_RX和U1_TX引脚。
2.打开上位机FlyMcu,将stm32的BOOT0置为高电平,BOOT1置为低电平。
3.按下stm32的复位按键,进入bootloader模式,下载程序。
4.下载完后,将stm32的BOOT0置为低电平,BOOT1置为低电平。
5.按下stm32的复位按键,开始运行用户代码。
缺点:要切换跳线帽改变BOOT0和BOOT1的引脚状态。
自动下载电路:
1、配置BOOT为ISP模式,BOOT1硬件固定为GND。RTS输出低,S8550导通,BOOT0被拉高。
2、复位,NRST为低,让系统重新启动迚入ISP模式。DTR输出高,S8050导通,NRST被拉到跟RST一样的低电平。
3、系统进入ISP模式后,让BOOT0和NRST还原成原来的状态即可。(通过上位机控制RTS和DTR引脚实现)
4、ISP下载完毕之后,程序自动运行,(通过上位机控制RTS和DTR引脚实现)开始从内部FLASH开始运行用户程序。
因为上面电路有时经常复位或者重启,完善电路图:
74HC1G66GW模拟开关:
V(IH)大于2V时,使能芯片,Y和Z导通。
在4号使能管脚上加100K电阻和10uF电容,大概1s后达到V(IH),也就是达到2V,使能后Y和Z打通,避开两个二极管上CH340_DTR和CH340_RTS不稳定的时间。
开头FlyMcu软件是用232协议写的
232标准
逻辑1:-3~-15V, 逻辑0:+3~+15V
TTL标准
逻辑1:3.3V, 逻辑0:0V作者:Lost.699