STM32单片机的ISP一键下载

ISP就是In System Programming在线系统编程,最常用的就是通过单片机的串口将程序HEX文件下载到内部FLASH中,单片机重启时就执行内部FLASH中的程序。根据STM32的数据手册,STM32的启动方式和BOOT引脚有关,如下表所示:

什么是STM32单片机的ISP一键烧录?

MCUISP软件是STM32单片机ISP下载程序的软件,就像我们用STC单片机ISP下载程序时通过STCISP软件一样,下载程序时的步骤都是类似的,无非就是选择好串口和波特率,加载HEX文件,选择附加选项后再烧录程序即可。

ISP普通烧录

根据上表所示,我们用STM32的串口下载程序的步骤为:

1.电脑通过USB线连接STM32的串口(因为在STM32开发板上已经设计了USB转串口电路,常见的如PL2303和CH340,推荐用CH340),打开程序下载软件MCUISP。

2.通过跳帽设置BOOT0为高电平1,BOOT1为低电平0(BOOT1通过跳帽一直拉低)。

3.复位单片机之后,使其进入bootloader模式,通过MCUISP的“开始编程”按钮开始烧录程序。

4.烧录完之后,通过跳帽设置BOOT0为低电平。

5.复位单片机,单片机开始执行内部FLASH中刚烧录进去的程序。

这种方式操作起来时很麻烦,BOOT0的电平状态要手动去设置;通过对上述步骤的理解,一键ISP烧录就是通过MCUISP去控制BOOT0引脚和单片机复位引脚的电平状态。

再讲STM32的一键ISP烧录前,先介绍一个模拟转换开关器件74HC1G66GW,其引脚描述如下表:

什么是STM32单片机的ISP一键烧录?

总的来说,当4引脚使能端E为低电平时,1引脚Y和2引脚Z的电平状态是独立的;当4引脚使能端E为高电平时,1引脚Y和2引脚Z的电平状态是相同的。

一键烧录

首先得明确一点:MCUISP软件中的DTR和RTS电平,跟开发板上的USB转串口芯片PL2303或者CH340的DTR#和RTS#电平状态相反,这也是为什么如上图所示,要选择“DTR的低电平复位,RTS高电平进BootLoader”。这一点很重要,才能明白ISP一键下载的原理。下图分别是CH340和ISP一键烧录的原理图。

我们来分析下怎样才能让BOOT0引脚和单片机复位引脚MCURST符合我们的要求。

首先我们得让BOOT0引脚电平为高电平,然后单片机复位完成之后就进入ISP模式烧录程序了。

1.CH340的DTR#引脚为高电平,RTS#引脚为低电平,则三极管Q2导通,74HC1G66GW的2引脚为低电平,此时STM32单片机的复位引脚MCURST也是低电平,单片机开始复位。

2.CH340的RTS#引脚为低电平,三极管Q1导通,BOOT0为高电平。

3.延时100ms之后,DTR#为低电平,RTS#引脚持续低电平,此时三极管Q2截止,74HC1G66GW的2引脚为高电平,此时STM32单片机的复位引脚RST也是高电平,单片机完成复位。

4.STM32单片机进入ISP开始烧录程序代码。





  • 8
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值