【ARM】JTAG接口介绍

1、 文档目标

对 JTAG 接口有更多的认识,在遇到关于 JTAG 接口问题时有一些排查的思路。

2、 问题场景

在使用调试器过程时,免不了要接触到 JTAG 接口,当出现连接不上时,就不知道从哪来进行排查。

3、软硬件环境

1 软件版本:不涉及

2 电脑环境:不涉及

4、JTAG 接口介绍

1.JTAG 接口定义

JTAG(Joint Test Action Group,联合测试工作组),是一种国际标准测试协议,用于芯片内部测试。

标准的JTAG接口是4线:TMS模式选择、TCK时钟、TDI数据输入、TDO数据输出。

也包括一些测试复位,电源,地等

2.JTAG 接口的 10PIN 20PIN 14PIN

3.JTAG 接口作用

JTAG 接口的主要作用有三个,

  1. 下载,即把程序下载到芯片的 flash 里或者外部存储器里。

  2. 调试,实时调试程序的运行,控制程序全速执行,单步,断点等

  3. 边界扫描,获取芯片内部的信号逻辑状态及芯片引脚的状态

4.JTAG 接口复用

在某些芯片上 JTAG 口和其他 GPIO 是复用的,就是在最开始烧写程序,之后就可以在程序运行的时候占用这个管脚,通常不会这么做,只有考虑成本用更少的芯片引脚时才这样做。

需要在烧写程序的时候保证芯片在复位状态下,然后才能正确识别 JTAG。

5.JTAG 接口问题与排查

1) 在使用 JTAG 调试时,首先要排查的是硬件的连接和供电问题。

例如找不到目标板:

0101FAQ20230816-MDK-J-LINK找不到目标板

2) 另外还有一种是对于实物接口的线序不清楚,

图 1

如图 1 ,通常这种排线,红线为 1 脚,同时在座上可以看到一个倒三角标记,也表示是 1 脚。

图 2

如图 2 ,通常这种 排座,也可以看到一个倒三角标记,表示是 1 脚。

确定了 1 脚位置之后,再排查接口的线序是不是正确。

3)再有就是关于接口的上下拉问题。

图 3

通常是不需要对 JTAG 口进行上拉或下拉的,某些仿真器为了保证初始状态的确定性会有一些要求,一般参考图 3

  1. 其他调试接口

    1. SWD

串行调试(Serial Wire Debug),需要4个SWDIO和SWCLK 及电源和地(或者5个,增加 SWO)引脚。

SWDIO(Serial Wire Debug Input/Output)是SWD接口中最重要的线之一。它既是数据线,也是控制线。在调试过程中,SWDIO用于传输调试信息和数据,同时还负责传输控制信号。

SWCLK(Serial Wire Debug Clock)是SWD接口中的时钟线,用于同步SWDIO线上的数据传输。

SWO(Serial Wire Output)是SWD接口中的输出线,用于将处理器内部的跟踪信息输出到外部调试器。

  1. Cortex Debug+ETM

ETM指令跟踪。(TRACEDATA[0..3])上输出数据,(TRACECLK)用于跟踪时钟。


​ 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

相关推荐
Joshua-a1 天前
macOS下arm编译缺少stdint.h等问题
arm开发·macos
蚂蚁舞1 天前
在arm架构的Debian系统手动安装和卸载Mysql8的操作
arm开发·debian·安装mysql·mysql8·卸载mysql
m0_571372821 天前
嵌入式学习——ARM 体系架构1
arm开发·学习
生涯にわたる学び2 天前
自旋锁/互斥锁 设备树 iic驱动总线 day66 67 68
arm开发
李小白202002022 天前
windows 10系统安装arm虚拟机
arm开发
亿道电子Emdoor4 天前
【ARM】PACK包管理
arm开发
wypywyp4 天前
基于arm芯片的驱动开发——温湿度传感器dht11
arm开发·驱动开发
亿道电子Emdoor5 天前
【ARM】MDK如何实现使用Hex文件完成程序烧录
arm开发·stm32·单片机
彻骨寒风5 天前
在麒麟 ARM (aarch64)安装OpenJDK11和elasticsearchkibana
运维·arm开发·jenkins
2301_1472583695 天前
ARM - GPIO 标准库开发
arm开发