STM32单片机有两种下载方式,一种是串口下载也就是ISP下载,另一种是用仿真器下载。下面是从瑞生老师的文章中学到的知识。
一.串口下载 串口下载要控制BOOT0脚高低电平来实现。STM32上电,会自动检测BOOT0引脚是什么电平,如果是高电平,等待用户下载程序;如果是低电平,运行用户之前下载到单片机的程序。我们不可能每次用手控制高低电平于是出现了自动ISP. 自动ISP,把BOOT0与地直接连接,那么每次上电就会运行程序,而且只要点击电脑上的“下载”按钮,就开始下载程序,下载完程序,就开始执行。实现此目的,需要借助串口握手信号DTR和RTS。 下面是ISP下载软件,看下面圈出来的部分。
DTR连接RESET(复位引脚),控制复位,RTS连接BOOT0,用来控制程序运行或者等待下载。 下面说明如何用USB转TTL芯片实现STM32自动ISP。CH340芯片如下图所示: CH340芯片,DTR和RTS引脚在一般情况下是高电平,低电平有效。因为STM32的RESET引脚,也是一般情况下是高电平,低电平复位,所以DTR可以与RESET直接连接。但是BOOT0是高电平下载程序,低电平运行程序,正好与RTS相反,所以我们需要把它反相,加一个NPN三极管即可。电路如下图所示: 二.JTAG接口硬件设计。
1.什么是JTAG接口? 从感官上看,JTAG接口就是上图中的蓝色的那个20PIN的牛角座。 2.JTAG接口的作用? 1) 给单片机下载程序。
2) 在线调试单片机,例如单步调试、断电调试、看寄存器值等等。 3.STM32的JTAG接口需要在外部接上拉下拉电阻吗? 答:接和不接都可以。(没有必要讨论哪个对) 4.为什么不接也可以工作? 实践证明:不接可以正常工作。 理论依据:STM32参考手册有说明,请看下图红色圈起来的字: JTAG接口电路:
JTAG接口,同样也是SWD接口,JTAG用的是6个引脚,SWD用的是2个引脚。(没有说电源负和正两个引脚) STM32支持JTAG和SWD两种方式,只需要在软件上设置切换即可,如下图所示:
就是这样子的,如果您觉得写的还不错的话请关注我的公众号 “老赵a科技”我们一起学习
|