Zynq 7000 系列中的JTAG和DAP子系统

Zynq 7000系列SoC器件通过标准JTAG调试接口提供调试访问。在内部,SoC设备器件在处理系统(PS)内部实现了一个Arm调试访问端口(DAP),同时在可编程逻辑(PL)内部实现了一个标准的JTAG测试访问端口(TAP)控制器。作为Arm CoreSight调试架构的一部分,Arm DAP允许用户利用行业标准的第三方调试工具。
除了标准JTAG功能外,AMD TAP控制器还支持一系列PL功能,包括PL调试、eFuse/BBRAM编程、片上XADC访问等。最重要的是,它还允许通过TAP同时使用跟踪缓冲区和PS与PL之间的交叉触发接口,对Arm软件和PL硬件进行调试。
Zynq 7000 SoC包含的另一个重要的调试特性是调试跟踪支持。这一特性允许用户将PS和PL的跟踪捕获到一个公共跟踪缓冲区中,该缓冲区要么通过下文描述的JTAG读出,要么通过跟踪端口接口单元(TPIU)发送出去。

一、框图

在这里插入图片描述
上图展示了顶层DAP/TAP架构。一旦BootROM将控制权传递给用户软件,假设是非安全启动过程,JTAG链将自动启用。这允许从用户软件入口点进行调试。
JTAG支持两种不同模式:级联JTAG模式(也称为单链模式)和独立JTAG模式(也称为分链模式)。模式是在系统复位解除时通过模式输入确定的。
在级联JTAG链模式下,TAP和DAP都可以从外部JTAG调试工具或JTAG测试仪访问。尽管PL侧有专用的PL_TDO/TMS/TCK/TDI I/O,但只能连接一根JTAG电缆,并且可以同时访问PS和PL功能。为了使用单独的电缆同时调试Arm软件和PL设计,用户必须切换到独立JTAG模式。在这种模式下,JTAG电缆只能从专用的PL_TDO/TMS/TCK/TDI引脚看到AMD TAP控制器。为了调试Arm软件,用户可以将Arm DAP信号(PJTAG)通过MIO或EMIO路由到PL SelectIO引脚。
要使用JTAG调试,PS和PL都必须上电。出于安全原因,JTAG链受到三重冗余门控逻辑的保护,以防止由于单一事件扰动(SEU)而在安全环境下意外启用调试。Zynq 7000 SoC设备还提供JTAG禁用锁定功能,以防止由于软件错误而启用调试。
Zynq 7000 SoC提供了使用一个eFuse位记录来永久禁用JTAG的功能。在选择此选项时应谨慎,因为eFuse JTAG禁用是不可逆的。

二、跟踪端口接口单元(TPIU)

是用于将实时跟踪信息转储到外部跟踪捕获模块的跟踪接收器模块之一。为了监控更长时间的跟踪信息,必须启用TPIU通过MIO或EMIO进行转储,以便跟踪信息被外部跟踪捕获设备捕获,例如HP逻辑分析仪、Lauterbach Trace32、Arm DStream等。

三、特征

• 支持JTAG 1149.1边界扫描
• 两个符合1149.1标准的TAP控制器:一个JTAG TAP控制器和一个Arm DAP
• Zynq 7000系列器件的AMD TAP提供单一独特的IDCODE
• 支持IEEE 1532在系统可编程(ISC)设备编程
eFuse编程
BBRAM编程
XADC访问
板上闪存编程
• 支持AMD ChipScope调试
• 使用Arm DAP进行Arm CoreSight调试中心控制
• 通过DAP-AP端口间接访问PS地址空间
• 使用PS中的MIO或PL中的EMIO进行外部跟踪捕获
这些功能使得JTAG调试接口在开发、测试和调试过程中能够提供强大的支持和灵活性。通过JTAG接口,开发人员可以访问和控制设备的内部状态,捕获和分析系统的行为,从而更有效地进行调试和优化工作。此外,它还支持多种在系统可编程设备的编程,为设备配置和定制化提供了便利。

四、功能

Arm DAP和JTAG TAP控制器以菊花链方式连接,其中Arm DAP位于链的前端。这两个JTAG控制器属于两个不同的电源域。Arm DAP位于PS(处理系统)电源域中,而TAP则位于PL(可编程逻辑)电源域中。JTAG I/O焊盘位于PL电源域中,以便利用PL中现有的JTAG I/O焊盘。尽管PS支持PL掉电模式,但为了支持所有与JTAG相关的功能,这两个电源域都必须上电。
在独立模式下,用户可以同时访问TAP和Arm DAP控制器。出于安全原因,当PS复位解除时,Arm DAP控制器将被旁路。位于PL中的AMD TAP控制器可以通过eFuse或PL配置逻辑中的控制寄存器进行禁用。
PS内的所有调试组件都直接受调试工具的控制,如Arm RVDS或AMD XDK,通过Arm DAP进行。PS内的所有调试组件(包括DAP)均按照Arm CoreSight架构设计和集成。尽管PL内没有CoreSight组件,但PS内的FTM组件允许将PL跟踪转储到ETB中。CTI/CTM支持PS和PL之间的交叉触发。
所有PS(处理系统)调试组件都与调试APB(高级外设总线)相连,而DAP(调试访问端口)作为唯一的总线主设备。通过JTAG连接到Arm DAP的外部调试工具使用调试APB总线来配置所有调试组件,包括CPU、CTI/CTM、PTM、ITM和FTM。
PL中的AMD TAP控制器具有四个主要目的:
• 边界扫描测试
• eFuse编程
• BBRAM编程
• PL调试ChipScope。
TPIU提供了长时间捕获跟踪的机制。没有内部时间限制来确定跟踪可以转储多长时间,因此唯一的实际限制是Zynq 7000的带宽。如果使用通过MIO的PS I/O进行跟踪转储,则最大跟踪带宽取决于可以分配多少个MIO跟踪I/O。另一种选择是通过EMIO进行跟踪转储。PL软逻辑将EMIO跟踪信号连接到PL SelectIO。处理EMIO跟踪还有其他潜在的创新方法。
例如,用户可以将EMIO跟踪数据回环到PS,并将其存储在DDR内存中,或者通过千兆以太网导出跟踪以启用远程调试或监控。在典型的调试流程中,用户启用最小的跟踪源转储功能,以适应分配给TPIU的吞吐量中的跟踪数据。在通过跟踪监控确定发生调试的小时间窗口后,如果需要,用户可以启用完全跟踪转储功能,并将短时间的数据存储到ETB中,以便进行下一级的调试。除了调试之外,跟踪端口还为软件分析带来了显著的价值。软件分析有助于用户识别消耗最多CPU功率的软件例程。基于此,用户可以决定是执行软件优化还是将进程卸载到PL。

五、I/O信号

在级联JTAG模式下,对于用户来说,只有PL侧的PL_TDO/TMS/TCK/TDI信号是有意义的。通过这些信号,用户可以访问Arm DAP和AMD TAP。
在独立JTAG模式下,用户只能通过PL_TDO/TMS/TCK/TDI信号访问AMD TAP。要访问Arm DAP,用户必须使用PJTAG信号,如表27-1所示。将PJTAG信号路由到芯片引脚输出有两种选择:通过EMIO到PL SelectIO,或者通过MIO。
在这里插入图片描述

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

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

相关文章

minio如何配置防盗链

MinIO 是一个开源的对象存储服务器,用于存储大量的数据,同时提供了丰富的功能和 API。配置防盗链可以帮助你控制谁可以访问存储在 MinIO 上的对象。以下是在 MinIO 中配置防盗链的一般步骤: 编辑 config.json 文件: 找到 MinIO 服…

每日昨日之螺旋矩阵

螺旋矩阵 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输入:…

文心一言 VS 讯飞星火 VS chatgpt (241)-- 算法导论17.3 7题

七、为动态整数多重集 S (允许包含重复值)设计一种数据结构,支持如下两个操作:① INSERT(S,x) 将 x 插入 S 中;② DELETE-LARGER-HALF(S) 将最大的 ⌈|S|/2⌉ 个元素从S中删除。解释如何实现这种数据结构,使得任意 m 个 INSERT 和…

spring高级篇(二)

1、Aware和InitializingBean Aware和InitializingBean都与Bean的生命周期管理相关。 Aware接口: 概念: Aware接口是Spring框架中的一个标记接口,它表示一个类能够感知到(aware of)Spring容器的存在及其特定的环境。Spring框架提供了多个Awar…

sublime运行编译C和Java

1.先安装终端 参照以下教程 如何在 Sublime 文本编辑器中使用终端?_sublime终端窗口怎么打开-CSDN博客 可能遇到的问题:有些sublime text3可能并没有显示“package control”。这个问题对于笔者来说是有些吊诡的,因为之前一开始安装时是能…

【大模型系列】大模型评价指标总结

文章目录 1 图生文 (Image-to-Text)1.1 BLEU:基于准确率,得分越高越好1.2 METEOR:基于准确率和召回率,得分越高越好1.3 ROUGE:得分越高越好1.4 CIDEr:得分越高越好1.5 SPICE:得分越高越好1.6 Hu…

文本美学:text-image打造视觉吸引力

当我最近浏览 GitHub 时,偶然发现了一个项目,它能够将文字、图片和视频转化为文本,我觉得非常有趣。于是我就花了一些时间了解了一下,发现它的使用也非常简单方便。今天我打算和家人们分享这个发现。 项目介绍 话不多说&#xf…

4.2冰达机器人:视觉实例-机器人视觉循线、视觉实例-调整循线颜色

4.2.10a视觉实例-机器人视觉循线 本节内容演示一个机器人视觉的视觉循线实例 准备工作:布置一块区域作为循线场所,如下图所示。用蓝色胶带在地面贴一条路线(机器人极限转弯半径0.5m,不要贴得过于曲折),将…

【超级简单】vscode进入服务器的docker容器

前提 1、已经运行docker容器 2、已经用vscode链接服务器 在vscode中安装的插件 Dev Containers docker 在容器中安装的依赖 yum install openssh-server yum install openssh-clientsvscode进入服务器的docker容器 找到自己的容器,右键点击,找到…

苍穹外卖day1--开发环境搭建

整体结构 前端:管理端(Web) 用户端(小程序) 后端:后端服务(Java) 前端工程基于ngnix运行 启动nginx:双击nginx.exe即可启动nginx服务,访问端口号为80 后端…

Xinstall:实现注册后自动绑定,提升用户体验

在移动互联网时代,App的注册与绑定流程对于用户体验至关重要。繁琐的注册步骤和手动绑定操作往往会让用户望而却步,导致用户流失。为了解决这一问题,Xinstall品牌推出了注册后自动绑定功能,极大提升了用户体验。 Xinstall的自动…

用户的流失预测分析

项目背景 随着电信行业的持续发展,运营商们开始更加关注如何扩大他们的客户群体。研究表明,获取新客户所需的成本要远高于保留现有客户的成本。因此,在激烈的竞争中,保留现有客户成为了一个巨大的挑战。在电信行业中,…

再拓信创版图-Smartbi 与东方国信数据库完成兼容适配认证

近日,思迈特商业智能与数据分析软件 [简称:Smartbi Insight] V11与北京东方国信科技股份有限公司 (以下简称东方国信)CirroData-OLAP分布式数据库V2.14.1完成兼容性测试。经双方严格测试,两款产品能够达到通用兼容性要…

TBWeb开发版V3.2.6免授权无后门Chatgpt系统源码下载及详细安装教程

TBWeb系统是基于 NineAI 二开的可商业化 TB Web 应用(免授权,无后门,非盗版,已整合前后端,支持快速部署)。相比稳定版,开发版进度更快一些。前端改进:对话页UI重构,参考C…

数据可视化(六):Pandas爬取NBA球队排名、爬取历年中国人口数据、爬取中国大学排名、爬取sina股票数据、绘制精美函数图像

Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊! 喜欢我的博客的话,记得…

面试(05)————Redis篇

目录 一、项目中哪些地方使用了redis 问题一:发生了缓存穿透该怎么解决? 方案一:缓存空数据 方案二:布隆过滤器 模拟面试 问题二: 发生了缓存击穿该怎么解决? 方案一:互斥锁 方案二&#xff…

Python数据可视化:频率统计条形图countplot()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 Python数据可视化: 频率统计条形图 countplot() [太阳]选择题 请问关于以下代码表述正确的选项是? import seaborn as sns import matplotlib.pyplot as plt data { …

断言(Assertion)在IT技术中的确切含义— 基于四类典型场景的分析

当“断言”(Assertion)一词成为IT术语时,语义的混沌性和二义性也随之而生。那么,何为断言?断言何为?实际上,只需分析四种典型场景,确切答案和准确描述就将自然显现。 在SAML&#xf…

Scikit-Learn

机器学习中的重要角色 Scikit-Leran(官网:https://scikit-learn.org/stable/),它是一个基于 Python 语言的机器学习算法库。Scikit-Learn 主要用 Python 语言开发,建立在 NumPy、Scipy 与 Matplotlib 之上,…

【python】使用python和selenium实现某平台自动化上传作品的全步骤

第一,我们需要下载python并安装 下载地址:https://www.python.org/downloads/release/python-3123/ 3.x版本的python自带pip工具,因此不需要额外下载。 ModuleNotFoundError: No module named seleniumpip用于下载python适用的各类模块&…