STM32的启动方式,系统存储器启动就是通过ISP下载
ISP简介
ISP下载是指可以通过串行外设,直接将程序下载Flash中,然后自动运行程序的启动方式。
ISP的时候需要用到bootloder(自举程序),bootloader存储在STM32内部的自举ROM存储器(系统存储器)中,作用是接收串行外设发送的程序数据并存到Flash中
ISP普通下载
步骤
- 电脑通过USB转串口线连接STM32的USART1,并打开电脑的上位机
- 设置BOOT0是高电平,BOOT1是低电平,此时单片机进入bootloader模式,执行自举程序
- 上位机开始发送程序,STM32通过USART1接收程序,并写到Flash中
- 下载完成后,设置BOOT0低电平,BOOT1低电平,单片机进入Flash启动新的程序
ISP自动下载
步骤:上位机通过控制DTR和RTS来实现对BOOT0和NRSET(复位引脚)的控制,来达到ISP自动下载的效果
- BOOT1默认接地为0
- RTS为0,Q1导通,BOOT0高电平;DTR为1,Q2导通,NRSET低电平。此时单片机复位进入bootloader模式,执行自举程序
- RTS为1, Q1截止,BOOT0低电平;DTR为0,Q2截止,NRSET高电平。USART1接收来自上位机的程序
- 接收完成后,RTS为1,Q1截止,BOOT0低电平;DTR为1,Q2导通,NRSET低电平。单片机复位进入Flash启动