【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 版权协议,转载请附上原文出处链接和本声明。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/895537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opencascade 获取edge起始点 会出现终点与实际不同的情况

在使用 OpenCASCADE 获取 TopoDS_Edge 的起始点和终点时,可能会出现终点与实际不一致的情况。这通常是由于以下原因导致的: 几何曲线的方向问题:在某些情况下,几何曲线的方向可能与拓扑边的方向不一致,导致通过几何曲线…

【电脑】u盘重装win7

u盘必须8GB以上 1. CPU型号 首先查看CPU的型号看看到底能不能装win7 2. 下载光盘映像文件 网址 看电脑是多少位的机器(32位下载x86 64位下载x64) 一共是这么多个版本按需下载对应的版本 电脑小白推荐无脑下载旗舰版 将链接复制到迅雷进行下载 3. 下载软碟通 网址 下…

C++-AVL树

一、AVL树的概念 1.二叉搜索树 二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树。 二叉搜索树:一棵二叉树,可以为空;如果不为空,满足以下性质: 非空左子…

【网络安全 | 漏洞挖掘】后端接受非预期参数的故事

未经许可,不得转载。 文章目录 正文正文 在对某项目进行测试时,我遵循了一套系统化的方法论,以确保全面理解其安全性。 首先,我创建了一个账户,并从用户的角度探索主域及其各项功能。此阶段,我避免使用 Burp Suite 或其他工具,而是尝试真正理解该应用的设计逻辑与交互…

01.01、判定字符是否唯一

01.01、[简单] 判定字符是否唯一 1、题目描述 实现一个算法,确定一个字符串 s 的所有字符是否全都不同。 在这一题中,我们的任务是判断一个字符串 s 中的所有字符是否全都不同。我们将讨论两种不同的方法来解决这个问题,并详细解释每种方法…

w208基于spring boot物流管理系统设计与实现

🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…

《刚刚问世》系列初窥篇-Java+Playwright自动化测试-22- 操作鼠标拖拽 - 下篇(详细教程)

1.简介 上一篇中,宏哥说的宏哥在最后提到网站的反爬虫机制,那么宏哥在自己本地做一个网页,没有那个反爬虫的机制,谷歌浏览器是不是就可以验证成功了,宏哥就想验证一下自己想法,其次有人私信宏哥说是有那种…

神经网络常见激活函数 8-SELU函数

SELU 缩放指数线性单元:SELU(Scaled Exponential Linear Unit) 函数导函数 SELU函数 S E L U ( x ) { λ x x > 0 λ α ( e x − 1 ) x ≤ 0 \rm SELU(x) \left\{ \begin{array}{} \lambda x \quad & x > 0 \\ \lambda \alph…

【Elasticsearch】多字段查询方式汇总

在 Elasticsearch 中,实现多字段查询的常见方式有以下几种,每种方式适用于不同的场景: --- ### 1. **multi_match 查询** - **用途**:在多个字段中执行同一查询,支持多种匹配策略。 - **关键参数**&#xff1a…

多线之旅:wait 与 notify

今天小编继续来分享下多线程中的一些内容。 在多线程环境下,由于线程调度的不确定性,所以我们有时候无法很好的去保证其线程的执行顺序。 但是呢,我们又要实现这个顺序执行,所以我们可以使用到这两个方法,wait 和 no…

批量修改mysql字符串字段子字符串

替换子字符串 使用 REPLACE 函数替换字段中的特定子字符串。 示例: 将 table_name 表中 column_name 字段的所有 old_value 替换为 new_value。 UPDATE table_name SET column_name REPLACE(column_name, old_value, new_value) WHERE column_name LIKE %old_val…

达梦:AWR 生成

目录标题 AWR 性能诊断与报告生成1. 检查 AWR 系统状态2. 查看数据库中的所有表空间3. 查看现有的 AWR 快照4. 设置 AWR 快照的时间间隔5. 创建 AWR 快照6. 查看最新的 AWR 快照7. 生成 AWR HTML 报告8. 将 AWR 报告保存到指定文件链接总结 自动工作集负载信息库 AWR 报告解析指…

股票数据接口API实例代码python、JAVA等多种语言演示免费获取实时数据、历史数据、CDMA、KDJ等指标数据配有API说明文档

​ 本文中所有接口均可直接在浏览器打开获取数据,为了便于大家验证有效性,已经做好了超链接,直接点击即可! 沪深两市股票列表 API接口链接(可点击验证):https://api.mairui.club/hslt/list/b…

深入理解DOM:22个核心知识点与代码示例

本文系统介绍DOM相关的22个核心概念,每个知识点均提供代码示例及简要说明,帮助开发者全面掌握DOM操作技巧。 一、DOM基础概念 1. DOM概念 DOM(Document Object Model)是HTML/XML的编程接口,通过JavaScript可动态修改…

【Map vs Set】:Java数据存储的“双子星”对决

个人主页:♡喜欢做梦 欢迎 👍点赞 ➕关注 ❤️收藏 💬评论 目录 🍰一、搜索 🍮1.概念 🍮2.模型 🍰二、Map 🍨1.什么是Map? 🍨2.Map的实例化 &…

【C语言 】C语言 桌游开发数字竞拍(源码)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 【C语言 】C语言 桌游开发数字竞拍(源码…

Reinforcement Learning Heats Up 强化学习持续升温

Reinforcement Learning Heats Up 强化学习持续升温 核心观点:强化学习正成为构建具有高级推理能力大语言模型(LLMs)的重要途径。 最新进展 模型示例:近期出现了如DeepSeek - R1及其变体(DeepSeek - R1 - Zero&#xf…

Whisper+T5-translate实现python实时语音翻译

1.首先下载模型,加载模型 import torch import numpy as np import webrtcvad import pyaudio import queue import threading from datetime import datetime from faster_whisper import WhisperModel from transformers import AutoTokenizer, AutoModelForSeq2…

湖仓分析|浙江霖梓基于 Doris + Paimon 打造实时/离线一体化湖仓架构

导读:浙江霖梓早期使用 CDH 产品套件搭建了大数据系统,面临业务逻辑冗余、查询效率低下等问题,基于 Apache Doris 进行整体架构与表结构的重构,并基于湖仓一体和查询加速展开深度探索与实践,打造了 Doris Paimon 的实…

git bash在github的库中上传或更新本地文件

一、将本地文件上传到 GitHub 仓库 1. 创建 GitHub 仓库 如果你还没有在 GitHub 上创建仓库,首先需要创建一个新的仓库: 登录到 GitHub。点击右上角的 按钮,选择 New repository。给你的仓库起个名字,并选择 Public 或 Privat…