Stm32串口下载电路

本文介绍了STM32的ISP下载技术,包括Bootloader的作用、普通下载过程(通过串口和Boot0/Boot1控制)以及一键下载的原理,重点讲解了如何通过DTR和RTS信号实现自动下载和代码执行。
摘要由CSDN通过智能技术生成

ISP(in_system_programing)在线系统编程简介:

  1. ISP下载是指通过串口将程序下载到Flash中,然后自动运行的程序的启动方式。
  2. ISP需要用到Bootloader(自举程序),bootloader存储在stm32内部的自举Rom存储器中,作用是接收串口外设发送的程序数据放置到flash中。

Stm32启动方式:

启动模式选择引脚启动模式说明
Boot0Boot1
0X内部Flash(513K)从Flash中加载代码启动
10系统存储器通过ISP加载代码
11内置SRAM内置SRAM加载代码启动


ISP普通下载:

  1. 电脑上位机通过USB-Type-C线连接到Stm32的USART1。
  2. 设置Boot1固定低电平,Boot0为高电平,
  3. 按下复位按钮,此时单片机进入bootloader模块准备接受数据。
  4. 上位机开始发程序,单片机通过串口接收代码数据存入Flash中
  5. 下载完成后,跳帽设置Boot0为低电平,按下Reset按钮,单片机进入Flash启动代码。


ISP一键下载:

注:上位机通过控制DTR、RTS来对RESET进行复位和对BOOT0设置,以达到ISP自动下载效果

  1. Boot1默认接地为0
  2. RTS#为0、DTR#为1,Q3、Q5导通,Reset被拉低,BOOT0拉高,单片机进入复位
  3. RTS#保持为0、DTR#为0,则Q3导通,Q5截止,Reset恢复高电平,Boot0依旧拉高,此时串口接受来自上位的代码数据并可选择立即执行代码。
  4. 接受完之后,RTS#、DTR#都置1,Q3、Q5均截止,Boot0恢复低电平,下次重新上电或RESET时,单片机执行内部Flash代码。

备注:时间轴1-2为擦除,2-3时间段为下载代码。用内部一段IO代码作为程序运行标志。   

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值