深入解析STM32的ISP下载原理

STM32的启动方式,系统存储器启动就是通过ISP下载

ISP简介

ISP下载是指可以通过串行外设,直接将程序下载Flash中,然后自动运行程序的启动方式。
ISP的时候需要用到bootloder(自举程序),bootloader存储在STM32内部的自举ROM存储器(系统存储器)中,作用是接收串行外设发送的程序数据并存到Flash中

ISP普通下载


步骤

  1. 电脑通过USB转串口线连接STM32的USART1,并打开电脑的上位机
  2. 设置BOOT0是高电平,BOOT1是低电平,此时单片机进入bootloader模式,执行自举程序
  3. 上位机开始发送程序,STM32通过USART1接收程序,并写到Flash中
  4. 下载完成后,设置BOOT0低电平,BOOT1低电平,单片机进入Flash启动新的程序

ISP自动下载


步骤:上位机通过控制DTR和RTS来实现对BOOT0和NRSET(复位引脚)的控制,来达到ISP自动下载的效果

  1. BOOT1默认接地为0
  2. RTS为0,Q1导通,BOOT0高电平;DTR为1,Q2导通,NRSET低电平。此时单片机复位进入bootloader模式,执行自举程序
  3. RTS为1, Q1截止,BOOT0低电平;DTR为0,Q2截止,NRSET高电平。USART1接收来自上位机的程序
  4. 接收完成后,RTS为1,Q1截止,BOOT0低电平;DTR为1,Q2导通,NRSET低电平。单片机复位进入Flash启动
物联沃分享整理
物联沃-IOTWORD物联网 » 深入解析STM32的ISP下载原理

发表评论