STM32程序DAP下载方式和串口下载方式分析 您所在的位置:网站首页 stm32f407仿真器型号 STM32程序DAP下载方式和串口下载方式分析

STM32程序DAP下载方式和串口下载方式分析

2024-03-03 18:53| 来源: 网络整理| 查看: 265

STM32程序的DAP下载方式和串口下载方式分析 前提简述DAP下载方式串口下载方式

前提简述

本人学习的是STM32F1系列这款单片机。标准库对于新手来说作用还是非常大的,所以接下来关于这款单片机的学习基本都是基于标准库的。本节主要讲DAP和串口下载的原理和接口,关于KEIL的设置就不再细说,网上都可以找到。

DAP下载方式

DAP仿真器遵循ARM公司的标准,基于Cortex内核的单片机都是适用的(如:M3、M4、M7)。需要注意的是:DAP仿真器内含特殊的通信协议去下载程序,我们也不需要管太多,所以使用的时候stm32的BOOT0和BOOT1接地(启动方式1)直接从Flash处启动即可。

DAP仿真器是支持下载和程序的在线仿真的(这可以说是DAP仿真和串口仿真最大的区别)。

DAP仿真器的下载接口可以有分为JTAG接口和SWD接口。如果不深究仿真器的接口引脚功能,只需要把对应的引脚接到单片机上即可。 JTAG接口是高速的(5M的速度),SWD接口是全速的(1M的速度)。JTAG接口有10pin、14pin、20pin的,SWD接口一般是5pin的(就是JTAG接口的其中的3.3V、TMS、GND、TCK、NRST)。尽管接口的引脚数不同,但是大部分的引脚都是一样的。引脚定义如下:

引脚定义 Test Clock Input (TCK) -----强制要求1 TCK在IEEE1149.1标准里是强制要求的。TCK为TAP的操作提供了一个独立的、基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的。

Test Mode Selection Input (TMS) -----强制要求2 TMS信号在TCK的上升沿有效。TMS在IEEE1149.1标准里是强制要求的。TMS信号用来控制TAP状态机的转换。通过TMS信号,可以控制TAP在不同的状态间相互转换。

Test Data Input (TDI) -----强制要求3 TDI在IEEE1149.1标准里是强制要求的。TDI是数据输入的接口。所有要输入到特定寄存器的数据都是通过TDI接口一位一位串行输入的(由TCK驱动)。

Test Data Output (TDO) -----强制要求4 TDO在IEEE1149.1标准里是强制要求的。TDO是数据输出的接口。所有要从特定的寄存器中输出的数据都是通过TDO接口一位一位串行输出的(由TCK驱动)。

Test Reset Input (TRST) ----可选项1 这个信号接口在IEEE 1149.1标准里是可选的,并不是强制要求的。TRST可以用来对TAPController进行复位(初始化)。因为通过TMS也可以对TAP Controll进行复位(初始化)。所以有四线JTAG与五线JTAG之分。

(VTREF) -----强制要求5 接口信号电平参考电压一般直接连接Vsupply。这个可以用来确定ARM的JTAG接口使用的逻辑电平(比如3.3V还是5.0V?)

Return Test Clock ( RTCK) ----可选项2 可选项,由目标端反馈给仿真器的时钟信号,用来同步TCK信号的产生,不使用时直接接地。

System Reset ( nSRST)----可选项3 可选项,与目标板上的系统复位信号相连,可以直接对目标系统复位。同时可以检测目标系统的复位情况,为了防止误触发应在目标端加上适当的上拉电阻。

USER IN 用户自定义输入。可以接到一个IO上,用来接受上位机的控制。

USER OUT 用户自定义输出。可以接到一个IO上,用来向上位机的反馈一个状态

由于JTAG经常使用排线连接,为了增强抗干扰能力,在每条信号线间加上地线就出现了这种20针的接口。但事实上,RTCK、USER IN、USER OUT一般都不使用,于是还有一种14针的接口。对于实际开发应用来说,由于实验室电源稳定,电磁环境较好,干扰不大。

20pin的JATG接口如下图: 在这里插入图片描述

20pin的(实际上只有5个有用,这个是5pin扩展成了20pin)SWD接口如下图: 在这里插入图片描述

串口下载方式

我们首先要知道利用串口下载程序需要CH340这款芯片(因为电脑的电平是高:-12V,低:+12V的),而STM32这款单片机它的电平是高:3.3V,低:0V。因此为了匹配电平就需要这款芯片的帮助,当然其他的芯片也可以实现,不过CH340是我们最常用的。我学习使用的串口是USART1: 在这里插入图片描述 然后我们需要知道ISP,ISP指电路板上的器件不需要取下来就可以进行就可以进行程序擦除或者再编程。(使用ISP的时候其实利用了ARM公司提供的一种自举程序(BootLoader),它存储在系统存储器中,它的任务就是通过串行外设把程序下载到内部Flash中)。

ISP普通下载: 1、连接好电脑和单片机后. 2、将BOOT0和BOOT1分别设置为高电平和低电平(启动方式2从系统存储器启动,因为自举程序在这里)。 3、复位单片机,就可以进行下载程序。 4、下载完成后,把将BOOT0和BOOT1都设置为低电平,然后复位单片机启动(让单片机从启动方式1方式从Flash处启动)。

ISP一键下载: 首先了解下载一键下载的原理图(这里默认BOOT0和BOOT1是接了地,通过上位机改变BOOT0即可改变启动方式) 在这里插入图片描述

可以发现通过改变DTR和RTS就可以实现程序下载和单片机复位。这里要知道改变DTR和RTS是通过mcuisp这个软件,本来我们是设置DTR高电平让单片机复位、RTS设置低电平让单片机去下载程序,但是由于注意这个软件默认的电平是232电平,和TTL电平是反过来的。所以我们在这个软件处选择DTR低电平复位,RTS高电平下载程序。原理图中的U18这块芯片是为了防止刚刚上电的瞬间因为电流的不稳定,让电路多次进行ISP下载。

上面提到了启动方式: 在这里插入图片描述 1:方式1是最常用是启动方式 2:方式2是串口下载的启动方式 3:方式3是SRAM的调试和启动



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有