嵌入式调试接口

嵌入式系统的开发和调试是一项复杂的任务,需要强大的工具和接口来确保硬件和软件的正确性。在这个领域,JTAG(Joint Test Action Group)和SWD(Serial Wire Debug)是两个常用的调试接口标准,它们在嵌入式系统开发中起到关键作用。

JTAG

什么是JTAG:Joint Test Action Group;联合测试工作组

• 边界扫描要求符合IEEE1149.1 (JTAG) 标准
• BSDL(Boundary- ScanDescriptionLanguage)边界扫描描述语言
• 边界扫描测试 (Boundary-Scan-TEST):对符合IEEE1149.1标准的器件,通过BSDL文件生成测试向量, 测试器件开路短路的一种测试方法

边界扫描(Boundary Scan)测试发展于上个世纪90年代,随着大规模集成电路的出现,印制电路板制造工艺向小,微,薄发展,传统的ICT 测试已经没有办法满足这类产品的测试要求。由于芯片的引脚多,元器件体积小,板的密度特别大,根本没有办法进行下探针测试。一种新的测试技术产生了,联合测试行为组织(Joint Test Action Group)简称JTAG 定义这种新的测试方法即边界扫描测试。

JTAG是一种IEEE标准用来解决板级问题,开发于上个世纪80年代。今天JTAG被用来烧录、debug、探查端口。当然,最原始的使用是边界测试。

边界测试

举个栗子你有两个芯片,这两个芯片之间连接了很多很多的线,怎么确保这些线之间的连接是OK的呢,用JTAG,它可以控制所有IC的引脚。这叫做芯片边界测试。

JTAG引脚

JTAG发展到现在已经有脚了,通常四个脚:TDI,TDO,TMS,TCK,当然还有个复位脚TRST。对于芯片上的JTAG的脚实际上是专用的。

TDI:测试数据输入,数据通过TDI输入JTAG口;

TDO:测试数据输出,数据通过TDO从JTAG口输出;

TMS:测试模式选择,用来设置JTAG口处于某种特定的测试模式;

TCK:测试时钟输入;

TRST:测试复位;

CPU和FPGA制造商允许JTAG用来端口debug;FPGA厂商允许通过JTAG配置FPGA,使用JTAG信号通入FPGA核。

JTAG怎么工作

PC控制JTAG:用JTAG电缆连接PC的打印端口或者USB或者网口。最简单的是连接打印端口。

TMS:在每个含有JTAG的芯片内部,会有个JTAG TAP控制器。TAP控制器是一个有16个状态的状态机,而TMS就是这玩意的控制信号。当TMS把各个芯片都连接在一起的时候,所有的芯片的TAP状态跳转是一致的。下面是TAP控制器的示意图:

改变TMS的值,状态就会发生跳转。如果保持5个周期的高电平,就会跳回test-logic-rest,通常用来同步TAP控制器;

通常使用两个最重要的状态是Shift-DR和Shift-IR,两者连接TDI和TDO使用。

IR:命令寄存器,你可以写值到这个寄存器中通知JTAG干某件事。每个TAP只有一个IR寄存器而且长度是一定的。

DR:TAP可以有多个DR寄存器,与IR寄存器相似,每个IR值会选择不同的DR寄存器。

边界扫描

TAP控制器进入边界扫描模式时,DR链可以遍历每个IO块或者读或拦截每个引脚。

在FPGA上使用JTAG,你可以知晓每个引脚的状态当FPGA在运行的时候。

可以使用JTAG命令SAMPLE,当然不同IC可能是不同的。

JTAG的优势

广泛支持:许多嵌入式芯片和处理器都提供了JTAG接口,因此它具有广泛的硬件支持。

丰富的功能:JTAG接口通常提供了丰富的调试功能,包括读取和写入寄存器、访问内存、硬件断点等。

适用于复杂系统:对于复杂的嵌入式系统,JTAG通常更适用,因为它提供了更多的控制和功能。

JTAG的劣势

复杂性:由于其并行性和较多的控制线,JTAG接口的硬件和实现通常更为复杂。

速度限制:JTAG在数据传输速度方面存在一定限制,不如一些串行接口快速。

SWD

SWD接口:串行调试(SerialWireDebug),应该可以算是一种和JTAG不同的调试模式,最直接的体现在调试接口上,与JTAG的20个引脚相比,SWD只需要4(或者5)个引脚。

VCC、SWDIO、SWCLK、GND(有些情况,也加上了RESET脚)。SWD是一种相对较新的调试接口,专为降低调试接口的复杂性和提高通信速度而设计。它只需要三个主要线路:SWDIO(数据和时钟)、SWDCLK(时钟)和SWDNRST(复位)。SWD使用更简单的状态机,以串行方式传输数据。

SWD的优势

简化硬件:SWD只需要少量引脚,因此硬件设计更为简化。这使得它在资源受限的系统中更容易集成。

高速通信:SWD通常比JTAG更快,因为它使用了串行通信,减少了通信开销。

低功耗:由于少量引脚和高效的通信方式,SWD通常具有较低的功耗。

SWD的劣势

支持有限:尽管SWD在许多新的嵌入式芯片中得到支持,但并不是所有老的或低成本的芯片都支持SWD接口。

功能限制:SWD可能不如JTAG提供丰富的功能,尤其是在一些复杂系统调试方面。

SWD和JTAG的调试方式区别

1.SWD模式比JTAG在高速模式下面更加可靠。在大数据量的情况下面JTAG下载程序会失败,但是SWD发生的几率会小很多。基本使用JTAG仿真模式的情况下是可以直接使用SWD模式的,只要你的仿真器支持,所以推荐大家使用这个模式。
2.当CPU的GPIO不够用的时候,可以使用SWD仿真,这种模式支持更少的引脚。
3.在硬件PCB的体积有限的时候推荐使用SWD模式,它需要的引脚少,当然需要的PCB空间就小,可以选择一个很小的2.54间距的5芯端子做仿真接口。

Keil环境下Jlink调试器的JTAG模式和SWD模式

IAR环境下Jlink调试器的JTAG模式和SWD模式

Jlink的JTAG模式和SWD模式对比图

JTAG引脚说明

SWD引脚说明

JTAG vs. SWD

1、硬件支持

首先,检查目标芯片是否支持所需的调试接口。如果芯片只支持其中一种接口,选择已支持的接口是明智的。

2、性能需求

如果你需要更高的通信速度和较低的功耗,那么SWD可能是更好的选择。但如果你需要丰富的调试功能,可能需要使用JTAG。

3、系统复杂性

对于较复杂的系统,特别是涉及多个处理器核心或FPGA的系统,JTAG通常更适用,因为它提供了更多的控制和功能。

4、成本考虑

考虑硬件成本和复杂性。SWD通常更简单,因此在资源有限的系统中可能更经济实惠。

5、开发工具

确保你的开发工具和调试器支持你选择的接口。大多数现代调试工具都同时支持JTAG和SWD。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jeecg spring数据源用户名和密码加密 避免明文安全漏洞

1.目的 由于系统部署在互联网,配置文件中的数据库账号密码使用明文,存在安全隐患,做等保测试时要求对其加密。 2.实现方法 Jeecg框架本身有PasswordUtil可以使用PBEWITHMD5andDES进行加密,这里为方便改造,且安全性较…

Nginx之文件下载服务器

1.概述 在对外分享文件时,利用Nginx搭建一个简单的下 载文件管理服务器,文件分享就会变得非常方便。利 用Nginx的诸多内置指令可实现自动生成下载文件列表 页、限制下载带宽等功能。配置样例如下: server {listen 8080;server_name localhos…

多品类第一!海尔智家618战绩出炉

618已经收官,从今年各大平台取消预售机制、简化流程等新动作来看,“回归用户”成为重中之重。而海尔智家从未离开用户,“以用户为中心”始终是海尔智家不变的坚持。 正因如此,今年618,海尔智家又把“第一”收入囊中。…

华润的超市卡有什么用?

现在都很少有人会直接去超市买东西了,一般都是网购或者叫外卖啥的 最近我朋友送了张华润的礼品卡,但是感觉也没什么要买的 一边担心卡过期,一边发愁买什么 还好发现了收卡云啊,最后把卡在收卡云上卖掉了,到账速度贼…

怎么把webp文件转换为jpg?快来试试这四种转换方法!

怎么把webp文件转换为jpg?Webp是一种不常见的图片格式,这种格式在使用过程中有很多缺点,首先它的浏览器兼容性不是很强,这就代表大家无法随意进行网络传输,可能需要准备特定的操作才能进行,然后编辑webp的工…

白酒:酒文化在当代社会中的价值与意义

在当代社会,酒文化依然承载着重要的价值与意义。作为中国的酒的品牌之一,云仓酒庄的豪迈白酒在传承与创新中不断发扬光大,成为中华文化的重要组成部分。 首先,酒文化是一种社交媒介。在中国,酒被视为一种情感的寄托和沟…

用android如何实现计算机计算功能

一.新建一个项目 步骤&#xff1a; 1.新建项目 2.选择 二.用户界面构建 找到项目的res的下面layout里面的activity.xml文件进行约束布局界面构建。 activity.xml代码如下&#xff1a; <?xml version"1.0" encoding"utf-8"?> <androidx.c…

干货丨好用的上网行为管理软件有哪些?全网行为管理系统详解

在当今数字化办公环境中&#xff0c;员工的上网行为直接关系到企业信息安全、工作效率以及合规性。 为了有效管理网络资源&#xff0c;确保工作环境的高效与安全&#xff0c;一套强大的上网行为管理软件变得尤为重要。 本文将为您详细介绍几款市场上口碑良好的上网行为管理软件…

Debian12的#!bash #!/bin/bash #!/bin/env bash #!/usr/bin/bash #!/usr/bin/env bash

bash脚本开头可写成 #!/bin/bash , #!/bin/env bash , #!/usr/bin/bash , #!/usr/bin/env bash #!/bin/bash , #!/usr/bin/bash#!/bin/env bash , #!/usr/bin/env bash Debian12的 /bin 是 /usr/bin 的软链接, /sbin 是 /usr/sbin 的软链接, (Debian12默认没有ll命令,用的ls …

这场毕业旅行,华为音频神器让你嗨翻全场!

毕业啦&#xff01;终于迎来了人生中最自由的夏天&#xff0c;一场说走就走的毕业旅行正等着我们&#xff01;但出门在外&#xff0c;怎么能少了这些华为黑科技神器来助阵呢&#xff1f;今天就来给大家盘点一下&#xff0c;华为音频的这4款 “神器”如何在毕业旅行中让我们尽情…

【CSS in Depth2精译】1.1.4 源码顺序

解决层叠冲突的最后一环叫做 源码顺序&#xff0c;有时又称为 出现顺序&#xff08;order of appearance&#xff09;。如果其他判定规则均一致&#xff0c;则样式表中后出现的、或者在页面较晚引入的样式表声明&#xff0c;将最终胜出。 也就是说&#xff0c;可以通过控制源码…

使用SQLite

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 与许多其他数据库管理系统不同&#xff0c;SQLite不是一个客户端/服务器结构的数据库引擎&#xff0c;而是一种嵌入式数据库&#xff0c;它的数据库就…

C/C++ string模拟实现

1.模拟准备 1.1因为是模拟string&#xff0c;防止与库发生冲突&#xff0c;所以需要命名空间namespace隔离一下&#xff0c;我们来看一下基本内容 namespace yx {class string{private://char _buff[16]; lunix下小于16字节就存buff里char* _str;size_t _size;size_t _capac…

技术与创意并驾齐驱:打造扭蛋机小程序的独特魅力

引言 扭蛋机小程序以其独特的玩法和吸引力&#xff0c;在移动互联网市场中崭露头角。本文将深入探讨如何通过技术与创意的并驾齐驱&#xff0c;打造扭蛋机小程序的独特魅力。 一、技术驱动&#xff1a;打造稳定高效的小程序平台 在扭蛋机小程序的开发过程中&#xff0c;技术是…

14K屏FPGA通过MIPI接口点亮

一、屏参数 屏分辨率为13320*5120&#xff0c;MIPI接口8 LANE。 二、驱动接口电路 屏偏置电压5.5V&#xff0c;逻辑供电1.8V。8 LANE MIPI&#xff0c;2 PORT。 三、MIPI DSI规范 DCS (Display Command Set)&#xff1a;DCS是一个标准化的命令集&#xff0c;用于命令模式的显…

研导智能科技(日照) 主要业务范围介绍

研导智能科技的核心业务包括以下几个方面&#xff1a; 1. AI辅助科研产品开发&#xff1a; 公司专注于开发基于人工智能的科研辅助产品&#xff0c;开发的研导学术平台&#xff08;www.zhiyanxueshu.com)可以帮助科研人员在科研写作、数据分析、文献检索、课题申报、前沿热点识…

2024请收好这一份全面--详细的AI产品经理从业指南

前言 入行人工智能领域这段时间以来&#xff0c;从零到一把AI推荐系统产品化搭建了起来&#xff0c;也与很多同行AI产品经理小伙伴建立了联系。AI产品经理工作内容各异&#xff0c;不同AI产品化生命周期中更是大为不同&#xff0c;但对想入行AI产品经理的小伙伴来讲&#xff0…

最新AI智能聊天对话问答系统源码(详细图文搭建部署教程)+AI绘画系统(Midjourney),DALL-E3文生图,TTS语音识别输入,文档分析

一、文章前言 随着人工智能技术的持续进步&#xff0c;AI绘画已经发展成为一个日益成熟的领域。越来越多的人开始尝试使用AI绘画软件来创作艺术作品。尽管这些AI绘画软件对绘画领域产生了显著影响&#xff0c;但它们并不会完全取代画师。与传统手绘不同&#xff0c;AI绘画可以…

CityEngine记录1:工程目录

CityEngine的工程目录结构对于理解和组织3D城市建模项目至关重要。以下是对CityEngine工程目录结构的详细解析&#xff1a; Assets&#xff1a; 存放模型的零件与纹理图片。这些资产通常用于在建模过程中为建筑物、道路、植被等元素添加详细的纹理和细节。 Data&#xff1a; …

今日分享丨点亮这四个技能,你也可以成为可视化专家

引言 以大数据、人工智能等为代表的新质生产力时代已悄然而至&#xff0c;央企、国企逐步意识到数据资源展示对于经营管理的重要性和紧迫性。数据可视化成为连接用户与数据的桥梁&#xff0c;藉由设计师的巧手&#xff0c;把复杂抽象的数据以基于管理需求&#xff0c;转化为直…