使用Ulink2的JTAG与SWD 调试stm32 区别

发布者:滁州鱼儿最新更新时间:2019-11-19 来源: eefocus关键字:Ulink2  JTAG  SWD  调试  stm32 手机看文章 扫描二维码
随时随地手机看文章

一、硬件连接


我调试stm32F407使用的ULINK2,Ulink2内部实物图如下。

1.1   JTAG interface

标准20pin  JTAG引脚中,JTAG调试只使用8pin,定义如下:

1)NTRST   ---------------Test ReSeT/ pin — Use 100K Ohm pull-up resistor to VCC.                             必须有该引脚


2)TDI        -----------------Test Data In pin — Use 100K Ohm pull-up resistor to VCC.数据输入              必须有该引脚


3)TMS/SWDIO-----------Test Mode State pin — Use 100K Ohm pull-up resistor to VCC.                          必须有该引脚


4)TCK/SWCLK----------Test CLocK pin — Use 100K Ohm pull-down resistor to GND.时钟输入             必须有该引脚


5)TDO    ------------------Test Data Out pin.数据输出 必须有该引脚


6)RESET ---------------- RSTIN/ pin — Connect this pin to the (active low) reset input of the target CPU.复位输入 必须有该引脚


7)VCC    ----------------- Positive Supply Voltage — Power supply for JTAG interface drivers. 可选,建议有该引脚


8)GND  ------------------ Digital ground.  必须有该引脚


VCC引脚可选原因:

电压输入管脚-为JTAG接口驱动提供电能。注:该电压由arm芯片提供,在unlik2里面有个蓝色的 小跳线帽,电压有2个选择,一个是ARM,一个是VCC;如果选择的是ARM则有外部的被仿真的 ARM提供,如果选择VCC则可以有ULINK2自己提供(ulink2板子实际上选择VCC,所以可选)。


1.2   Serial Wire Mode Interface(串行模式接口) 


串行模式接口的操作不同于JTAG,因为串行模式只要2个线,TCLK(9号管脚时钟,即swclk)和TMS(7号管脚SWDIO,即数据),同时需要加上RESET、GND共4根。其中第5根线(swo)是可选的,用来跟踪数据。JTAG模式下管脚和串行模式(SW)的管脚是共用的,即ULINK2可以工作在JTAG模式下,或者串行模式(SW)下。


SWD硬件连接说明:


1)SWDIO------------Data I/O pin. Use 100K Ohm pull-up resistor to VCC(数据I/0管脚,用100K的电阻上拉到VCC上)   必须有该引脚


2)SWCLK -----------Clock pin. Use 100K Ohm pull-down resistor to GND()                                                                         必须有该引脚


3)SWO    ----------- Optional trace output pin.(可选的跟踪输出管脚)                                                                                一般不使用


4)RESET -----------RSTIN/ pin — Connect this pin to the (active low) reset input of the target CPU.                           必须有该引脚


5)VCC   -------------Positive Supply Voltage — Power supply for JTAG interface drivers。                                               可选,建议有该引脚。


6)GND    ------------ground.


注:

JTAG模式下的TCLK管脚是串行模式下的SWCLK管脚(串行时钟输出); 

JTAG模式下的TMS管脚是串行模式下的SWDIO管脚(串行数据输入/输出); 

JTAG模式下的TDO管脚是串行模式下的SWO管脚(串行数据跟踪输出);

二、区别


1、硬件上(除了电源VCC、GND、RESET以外),使用SWD节省IO资源,板子空间。对于stm32F4系列节省NTRST、TDI、 TDO ( 即PB3 PB4  PA15) 3个IO资源。


JTAG调试:需要5根线,即NTRST、TDI、TMS 、TCK、 TDO     +  3根   电源VCC、GND、RESET    =8根


SWD调试:需要2根,即SWCLK 、SWDIO +  3根   电源VCC、GND、RESET    =  5根


2、SWD 模式比 JTAG 在高速模式下面更加可靠。 在大数据量的情况下面 JTAG 下载程序会失败, 但是 SWD 发生的几率会小很多。


关键字:Ulink2  JTAG  SWD  调试  stm32 引用地址:使用Ulink2的JTAG与SWD 调试stm32 区别

上一篇:stm32f4xx 加密
下一篇:stm32 C语言的数据类型说明

推荐阅读最新更新时间:2024-11-12 10:42

STM32之FSMC
STM32 FSMC总线深入研究 由于CPU与FPGA通信的需要,以及对8080总线的熟悉,首选采用了STM32的FSMC总线,作为片间通信接口。FSMC能达到16MHz的写入速度,理论上能写20fps的1024*768的图片哈哈。(当然实际上是不可能的,就算是DMA传输,数据源也跟不上,实际上刷模拟的图片每秒10fps,刷的很high)当然这不是本篇的要点,这里主要研究STM32的FSMC接口,将速度提升到极限。 1. FSMC协议分析 如下为ILI9325的8080接口的协议 CS(片选信号):低电平片选有效,高电平失能(默认为高:失能) RS(数据寄存器):低电平写寄存器,高电平写数据(默认为高:写数据
[单片机]
<font color='red'>STM32</font>之FSMC
关于STM32 GPIO配置模式
其实关于GPIO模式,手册有非常详细的说明,可见好好查看Datasheet有多么重要!! 首先关于stm32的GPIO口有输入输出之分,这点与51单片机使用的双向IO口有区别,这就需要根据我们具体是输入还是输出配置为相应的输入输出模式。输入就是输入模式,输出就是输出模式,两者不能混用。 下面这段话是手册这么描述GPIO口的: 通用I/O(GPIO) 复位期间和刚复位后,复用功能未开启, I/O端口被配置成浮空输入模式(CNFx =01b, MODEx =00b)。 复位后, JTAG引脚被置于输入上拉或下拉模式: ─ PA15: JTDI置于上拉模式 ─ PA14: JTCK置于下拉模式 ─ PA13: JTMS置于上拉模式 ─
[单片机]
关于<font color='red'>STM32</font> GPIO配置模式
STM32 PWM捕获 两种方法详解
前言: STM32 的TIM的捕获PWM波,是为了频率和占空比,这两种数据结果!它 的最基本的原理就是(打个比方):例如一个高电平上升沿过来,捕获的数值就是上升为的高电平的TIM的计数值(TIM定时器,CNT不断增加,再重新装载),这点是最基本的内容!后面就是通过前后的数值计算可以获得占空比 频率。 第一种方法: 官方的正统方法 IC1和IC2为一组通道,IC3和IC4为一组通道,以上图为例可以得到上升沿是IC1的值为600(假设),此时TIMx_CCR2不变,计数器复位为0,然后在下降沿的时候,IC2读取计数值 即为高电平时间300(假设),当道下一个周期的上升沿时,IC1读取为600,计数器复位为0; void
[单片机]
<font color='red'>STM32</font> PWM捕获 两种方法详解
spi 设置speed
//SPI 速度设置函数 //SpeedSet: //SPI_SPEED_2 2分频 (SPI 12M --sys 24M) //SPI_SPEED_8 8分频 (SPI 3M --sys 24M) //SPI_SPEED_16 16分频 (SPI 1.5M --sys 24M) //SPI_SPEED_256 256分频 (SPI 905.6K --sys 24M) void SPI1_SetSpeed(u8 SpeedSet) { SPI1- CR1&=0XFFC7;//Fsck=Fcpu/256 if(SpeedSet==SPI_SPEED_2)//二分频 { SPI1- CR
[单片机]
stm32时钟设置函数
这里涉及到一个很重要的寄存器,时钟配置寄存器:RCC_CFGR 1 #if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) 2 /* #define SYSCLK_FREQ_HSE HSE_VALUE */ 3 #define SYSCLK_FREQ_24MHz 24000000 4 #else 5 /* #define SYSCLK_FREQ_HSE HSE_VALUE */ 6 /* #define SYSCLK_FREQ_24MHz 24000000 */ 7 /* #define
[单片机]
STM32 printf重定向
STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) 在STM32串口通信程序中使用printf发送数据,非常的方便。可在刚开始使用的时候总是遇到问题,常见的是硬件访真时无法进入main主函数,其实只要简单的配置一下就可以了。 下面就说一下使用printf需要做哪些配置。 有两种配置方法: 一、对工程属性进行配置,详细步骤如下 1、首先要在你的main 文件中 包含“stdio.h” (标准输入输出头文件)。 2、在main文件中重定义 fputc 函数 如下: // 发送数据 int fputc(int ch, FILE *f) { USART_SendData(
[单片机]
STM32通过按键中断点亮led灯
首先是led头文件,其中调用的一些库是原子的我只是借鉴一下 侵删 #ifndef __LED_H #define __LED_H #include sys.h #define LED PCout(13) // PA8 void LED1_Init(void);//³õʼ»¯ #endif led的c文件 #include led.h //初始化PB5和PE5为输出口.并使能这两个口的时钟 //LED IO初始化 void LED1_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockC
[单片机]
STM32之软件CRC和硬件CRC速度测试
  一、测试条件   硬件: STM32L432KC   主频: 80MHz   编译器: IAR 8.20.1   编译选项: High Speed no size constraints   CRC 生成多项式: 0x782f   二、测试方法   软件提前生成CRC表,用于查询。分别使用软件CRC算法和硬件CRC外设对一个缓存进行计算,目的是从该缓存中找到同步头。同步头共11字节,前两个字节为后九个字节的CRC校验值。通过迭代算法依次对11字节进行计算和比较,当找到同步头后返回同步头偏移量。通过时间比较两者之间的速度。   三、测试结果   迭代24464次后,从缓存中找到同步头。   不开启编译时间优化时,软件算法用时23
[单片机]
<font color='red'>STM32</font>之软件CRC和硬件CRC速度测试
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved