STM32系列单片机USB下载程序(ISP编程)

一. 准备

    1. FlyMcu 软件,选择DTR高电平复位,RTS低电平进入BootLoader

    2. 原理图增加USB转串口芯片(CH340G)

 二.说明

   

 

STM32三种启动模式对应的存储介质均是芯片内置的,它们是:
1)主闪存存储器 = 芯片内置的Flash。
2)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。
3)内置SRAM = 芯片内置的RAM区,就是内存啦。

一般情况,BOOT0为0,MCU从flash启动。
ISP模式下,先使BOOT0为1,BOOT1为0,再给MCU一个复位信号,四个clk周期后,MCU锁存BOOT0引脚的状态,此时MCU将从系统存储器启动,通过执行MCU内部固化的ISP下载引导程序,实现串口在线编程(必须通过USART1接收数据)。

三. CH340G时序

   1.  DTR #和 RTS#电平,使用万用表测量,在默认状态,DTR#和RTS#引脚均输出高电平,由上面的电路图可知,此时Q1截止,Q2截止,因此BOOT0为0,RST#为高电平,MCU可正常从系统存储器(主flash)启动。

   2. 启动下载时,DTR#维持高,RST#拉低,此时Q1导通,Q2导通,此时BOOT0为1,MCU复位脚拉低(有效),使MCU复位;
   3. 100毫秒后,DTR拉低,释放复位,MCU将从系统存储器启动,自动进入ISP模式,执行MCU内部ISP引导程序,MCU和MCUISP上位机下载软件进行通信(代码下载);
   4. 等到代码下载结束时,RST#先变成高电平,DTR再变成高电平,Q1截止、Q2截止,下载结束。
   5. 如果在MCUISP软件上选择“编程后执行”,DTR先变成高电平,使MCU的RST脚变低(复位),RST#再变成高电平,使MCU的RST脚拉高(释放复位),BOOT0为0,此时MCU复位后执行主flash程序,实现“编程后执行”步骤。

附CH340G引脚说明

    

 

 

    

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值