JATG引脚定义-程序员宅基地

技术标签: 嵌入式  

JTAG各类接口针脚定义、含义以及SWD接线方式

原文地址为: JTAG各类接口针脚定义、含义以及SWD接线方式

 JTAG有10pin的、14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的,各个引脚的定义如下。

一、引脚定义

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针的接口。对于实际开发应用来说,由于实验室电源稳定,电磁环境较好,干扰不大。

 

二、20、14、10pin JTAG的引脚名称与序号对应关系

值得注意的是,不同的IC公司会自己定义自家产品专属的Jtag头,来下载或调试程序。嵌入式系统中常用的20、14、10pin JTAG的信号排列如下:


需要说明的是,上述Jtag头的管脚名称是对IC而言的。例如TDI脚,表示该脚应该与IC上的TDI脚相连,而不是表示数据从该脚进入download cable。

实际上10针的只需要接4根线,4号是自连回路,不需要接,1,2接的都是1管脚,而8,10接的是GND,也可以不接。

 附转接板电路:

 

 

JTAG接口的SWD接线方式

JTAG引脚示意图:

 

一、SWD 和传统的调试方式区别

1. SWD 模式比 JTAG 在高速模式下面更加可靠

2. GPIO 刚好缺一个的时候, 可以使用 SWD 仿真, 这种模式支持更少的引脚

3. 在板子的体积有限的时候推荐使用 SWD 模式

二、仿真器对 SWD 模式支持情况

1. 市面上的常用仿真器对 SWD 模式支持情况

JLINKV8 非常好的支持 SWD 仿真模式, 速度可以到 10M

ULINK2 非常好的支持 SWD 模式, 速度可以达到 10M

2. SWD 硬件接口上的不同

(1) JLINKV7 需要的硬件接口为: GND, RST, SWDIO, SWDCLK
(2) JLINKV8 需要的硬件接口为: VCC, GND, RST, SWDIO, SWDCLK (注:下面有我自己用JLINKV8的实际连线及相应实验结果)
(3) ULINK1 不支持 SWD 模式
(4) ULINK2 需要的硬件接口为: GND, RST, SWDIO, SWDCLK
三、在 MDK 中SWD 模式的设置

正常的JTAG需要20管脚,而J-Link 的SWD只需要2根线(PA13/JTMS/SWDIO、PA14/JTCK/SWCLK)就够了(加上电源线也就4根),这样就节省了3个I/O口(PA15/JTDI、PB3/JTDO、PB4/JNTRST)为其它所用,并且可节省一部分板子的空间(只需4个口就可以了)

第一步:

第二步:

另外, JTAG引脚可以被复用为IO口,但是这样一来,JLINK就不能够连上芯片了。解决的方法有两种:
    (1)另写一段程序,不要将JTAG复用为I/O口,然后将这段程序用串口工具写入芯片中
    (2)将BOOT0/BOOT1设置成为内部RAM启动,那么上电后就不会执行FLASH中的程序,这样JLINK就能顺利“接管”JTAG引脚

 

转载于:https://www.cnblogs.com/sweet-li/p/11059267.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30312563/article/details/98107832

智能推荐

Voronoi泰森多边形应用案例-python_python泰森多边形代码-程序员宅基地

文章浏览阅读747次。下面代码为Voronoi泰森多边形的应用案例。在下面代码中,我们会对输入的数据集,计算泰森多边形,之后在这个基础上,再对泰森多边形进行分割,之后我们可以通过书输入点,然后直接计算出其在我们分割的那个框里,再次基础上,结合泰森多边形的边界线知识,就可以很快的判断输入点的坐标距离输入数据集那个点最近。_python泰森多边形代码

swiper滑动及动画特效_swiper上下滑动动画重置-程序员宅基地

文章浏览阅读4k次。Swiper基本使用方法:一、加载插件,需要用到的文件有swiper.min.js和swiper.min.css文件。二、HTML内容。(我是基于angular1.x)<div class="swiper-container jb_carousel" id="jb_carousel"> <div class="swiper-wrapper" > ..._swiper上下滑动动画重置

ansible的剧本-程序员宅基地

文章浏览阅读293次。ansible的playbook的介绍-yamlansible的playbook是使用yaml语言写的YAML标记语言介绍YAML是一个可读性高的用来表达资料序列的格式。YAML参考了其他多种语言包括XML、C语言、Python、Perl以及电子邮件格式RFC2822等。Clark Evans在2001年在首次发表了这种语言另外Ingy dtNet与Oren Ben-Kiki也是这语言的共..._192.168.16.139:5000

K8s 超详细总结!-程序员宅基地

文章浏览阅读5.4w次,点赞30次,收藏370次。一个目标:容器操作;两地三中心;四层服务发现;五种Pod共享资源;六个CNI常用插件;七层负载均衡;八种隔离维度;九个网络模型原则;十类IP地址;百级产品线;千级物理机;万级容器;相如无亿..._k 8 s

windows编译新版本linphone_windows编译 linphone-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏2次。​​​​​​​linphone-desktop是一款基于SIP的标准开源网络电话系统,它使用了Qt和mediastreamer2开源多媒体库,支持大部分音视频格式,包括H263和H264等。linphone-desktop允许用户通过互联网与他人进行语音、视频和即时文本消息的沟通。它能够通过查询朋友的IP地址并进行拨号,功能强大且支持多种平台,既可以在桌面系统上使用,也可以在移动设备上使用,甚至支持WEB浏览器。linphone-desktop遵循GPL开放源代码协议,可以自由下载和二次开发。_windows编译 linphone

Spring Cloud Alibaba 微服务开发实践_spring cloud alibaba微服务最佳实践-程序员宅基地

文章浏览阅读1.7k次。Spring Cloud Alibaba 是阿里巴巴开源的基于 Spring Cloud 的微服务框架。该项目从最初孵化到现在已经历经十多年的发展,得到了广泛的应用。其中主要集成了阿里巴巴中间件生态中的组件,比如 Nacos、Sentinel、RocketMQ 和 Dubbo。这些组件在 Spring Cloud 中进行了整合,让 Spring Cloud 用户能够更加简单方便地使用这些组件。因此,Spring Cloud Alibaba 如今已成为众多 Java 开发者的最爱。_spring cloud alibaba微服务最佳实践

随便推点

vmwareworkstation的linux虚拟机关闭屏保【自动锁屏】,掌门一对一java面试题_linux虚拟机如何取消锁屏-程序员宅基地

文章浏览阅读370次,点赞4次,收藏6次。给大家送一个小福利附高清脑图,高清知识点讲解教程,以及一些面试真题及答案解析。送给需要的提升技术、准备面试跳槽、自身职业规划迷茫的朋友们。跳槽、自身职业规划迷茫的朋友们。[外链图片转存中…(img-VzhL7L8l-1711087689878)]本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录。_linux虚拟机如何取消锁屏

【5G】PDSCH/PUSCH DMRS CDM(OCC)原理_occ和pusch-程序员宅基地

文章浏览阅读591次,点赞9次,收藏9次。5G协议解读与原理解析:DMRS CDM需求及码分权值生成原理_occ和pusch

QML ListView实现惰性加载_qlistview实现懒加载-程序员宅基地

文章浏览阅读2.9k次。移动开发中,经常会看到这样的需求,用户拖动列表至列表最下端时,软件自动加载新的内容。这就是惰性加载,也叫延时加载。实现的关键是监控当用户拖动列表至最下端时的事件。上拉加载原理:contentY为列表上拉后列表左上角点距显示框左上解点的高度,listView1.height为可显示部分的高度,假设列表单元的高度为listViewCellHeight,列表个数为li_qlistview实现懒加载

UE4中FString转char* ,控制台字符输出乱码(不是编译期乱码)-程序员宅基地

文章浏览阅读3.1k次。刚接触ue4,原本想着一个很简单的打印字符串,找找博客就没事了 ,但是找来找去 不是要什么安装字体,就是vs只安装英文,启用 utf-8bate版,我只是想简单输出下字符打印啊!!!刚用libuv网络库所以需要从editor就是FString拿到字符转换成char* ,内存中的数值是正常的中英文字符都是正常传输的,但是一到log就不行,谁有时间去一步步调试看内存中是什么啊,找来找去我觉得应该是ue4打印函数不支持utf-8,或者是gbk是这样测试的-> std::string ..._fstring转char*

java.util.concurrent.CompletionException: java.lang.ArrayIndexOutOfBoundsException异常的原因分析及解决方-程序员宅基地

文章浏览阅读8.1k次,点赞2次,收藏7次。java.util.concurrent.CompletionException: java.lang.ArrayIndexOutOfBoundsException异常的原因分析及解决方案1.错误日志java.util.concurrent.CompletionException: java.lang.ArrayIndexOutOfBoundsException at java.util.concurrent.CompletableFuture.encodeThrowable(Compl.

Django学习之路2-环境的搭建(virtualenv)-程序员宅基地

文章浏览阅读45次。virtualenv简介:virtualenv 是一个创建独立python环境的工具。其要解决的最基本问题就是库的依赖和版本,以及间接权限。比如一个ubuntu环境默认安装了python2.7.11的版本,想要使用python3.5,如果再安装3.5,就会比较乱,再如pip安装的软件包,有..._django 重新搭建env