EJTAG片上调试单元

简介: EJTAG片上调试单元 EJTAG单元是一个CPU内用于构建调试和跟踪工具的资源的松散集成的集合。EJTAG通过复用每个SoC内已提供的用于芯片测试的JTAG引脚,找到一个不影像被测设备和主机连接的反复。

EJTAG片上调试单元



EJTAG单元是一个CPU内用于构建调试和跟踪工具的资源的松散集成的集合。EJTAG通过复用每个SoC内已提供的用于芯片测试的JTAG引脚,找到一个不影像被测设备和主机连接的反复。

EJTAG调试单元需要:
1)与主机的物理连接
一般经通用网络或电缆连接到调试主机的某种探针设备。

2)主机/探针的“远程控制”CPU的能力
那是通过让CPU从一个dmseg的内存区域执行代码实现的。

3)调试专用的异常
在MIPS EJTAG中,这是一个由特殊的调试模式标志的特殊的超级异常。你可以用EJTAG调试器来调试整个系统。
可用EJTAG调试器来调试整个系统,甚至于调试它自身的普通异常处理程序。

4)一定数量的EJTAG断点
可独立编程匹配地址甚至是数据的硬件监控器。
当CPU取指或读写数据时,取指或者读写的地址和数据与活动的断点相比较,若匹配则导致一个调试异常。

5)从一条调试断点指令sdbbp、一外部信号DNIT、或在EJTAG探针翻转某已知控制位时得到一个调试异常。

6)用于剖析(profiling)而不是调试时,可用该工具指导EJTAG单元周期性地记录当前执行指令的地址。

控制CPU
当CPU从dmseg区域读取指令时,探针就获得控制权。

1)为响应调试器启动代码,探针会用其JTAG连接设置一个内部标志,将调试异常入口点移到dmseg区域的0xFF200200。
探针可以直接产生一个调试断点或设置一个硬件观察点等待软件绊到。

2)探针可发送一个EJTAGBOOT明亮,然后等下次CPU复位后,CPU会从dmseg读取指令。
实际上,有一组特性可在重新启动CPU时获得完全控制,甚至可通过JTAG连接下载新软件。

通过EJTAG的调试通信
JTAG标准时芯片制造商为简化电路板测试而发明的,大多数复杂芯片已经为JTAG引脚安排了空间,让这项引脚同时服务于软件调试要比建立新引脚更为容易。

MIPS的传统调试功能
break指令:简单导致一个异常,带很多未解释的位,由调试软件赋予其意义。

PDtrace
PDtrace时EJTAG调试单元的附件,可跟踪程序执行用于以后的重构。执行跟踪可保存在片内存储器或采用告诉信令技术实时回放到探针。
PDtrace可记录执行地址,还可跟踪读写地址甚至是数据值。
EJTAG断点用于提供细粒度的跟踪控制,当遇到特定断点时动态切断或接通跟踪数据流。
目录
相关文章
|
7月前
|
搜索推荐 数据挖掘 API
深入研究:京东图片搜索商品API详解
京东图片搜索商品API简介:在电商快速发展的背景下,用户需求日益多样化。为提升购物体验,京东推出图片搜索商品API,通过上传商品图片(如实物图或宣传图),利用图像识别技术匹配京东商品库,返回相似商品的信息(如名称、价格、销量等)。该API采用HTTP POST请求方式,支持JPEG、PNG等常见图片格式,并可设置分类范围和结果数量限制等可选参数,助力开发者实现更精准的商品搜索,优化用户体验,同时为数据分析与个性化推荐提供支持。本文详细介绍了其功能、使用方法及Python请求示例。
|
存储 安全 算法
物联网发布者在发送数据时如何保证数据的安全性和完整性
数据加密、密钥管理和数据完整性验证是物联网安全的重要组成部分。对称加密(如AES)和非对称加密(如RSA)分别适用于大量数据和高安全需求的场景。密钥需安全存储并定期更新。数据完整性通过MAC(如HMAC-SHA256)和数字签名(如RSA签名)验证。通信协议如MQTT over TLS/SSL和CoAP over DTLS增强传输安全,确保数据在传输过程中的机密性和完整性。
|
资源调度 分布式计算 调度
【赵渝强老师】Yarn的资源调度策略
Yarn作为资源和任务调度平台,支持多个应用程序同时运行,如MapReduce、Spark和Flink等。Yarn的资源调度方式主要包括FIFO Scheduler(先来先服务)、Capacity Scheduler(容量调度)和Fair Scheduler(公平调度)。FIFO Scheduler按任务提交顺序调度;Capacity Scheduler通过队列管理资源,支持多租户共享;Fair Scheduler则根据任务权重动态分配资源,确保公平性。
719 8
|
11月前
|
程序员 测试技术 项目管理
项目管理中分工问题如何用RACI责任矩阵解决?
RACI责任矩阵是团队协作中的高效工具,通过明确任务中每个人的角色(负责、批准、咨询、知会),避免责任不清、重复工作和信息不对称等问题。
675 10
项目管理中分工问题如何用RACI责任矩阵解决?
|
7月前
|
数据采集 人工智能 Java
使用 Ollama 本地模型与 Spring AI Alibaba 的强强结合,打造下一代 RAG 应用
使用 Ollama 本地模型与 Spring AI Alibaba 的强强结合,打造下一代 RAG 应用
1580 22
|
关系型数据库 MySQL OLAP
快速入门:搭建你的第一个AnalyticDB实例
【10月更文挑战第25天】在大数据时代,高效的在线分析处理(OLAP)成为企业决策的关键。AnalyticDB是阿里云推出的一款完全托管的实时数据仓库服务,它能够支持PB级的数据量和高并发的查询需求。作为一名数据工程师,我有幸在工作中使用了AnalyticDB,并积累了丰富的实践经验。本文将从个人角度出发,详细介绍如何快速搭建你的第一个AnalyticDB实例,包括创建实例、连接数据库、导入数据和执行简单查询等步骤。
499 0
|
数据采集 监控 数据可视化
用Python构建动态折线图:实时展示爬取数据的指南
本文介绍了如何利用Python的爬虫技术从“财富吧”获取中国股市的实时数据,并使用动态折线图展示股价变化。文章详细讲解了如何通过设置代理IP和请求头来绕过反爬机制,确保数据稳定获取。通过示例代码展示了如何使用`requests`和`matplotlib`库实现这一过程,最终生成每秒自动更新的动态股价图。这种方法不仅适用于股市分析,还可广泛应用于其他需要实时监控的数据源,帮助用户快速做出决策。
571 0
|
Docker Windows Python
Windows-Docker学习笔记(一)
本文介绍了Windows环境下Docker的安装与使用方法。首先通过链接下载Windows版本的Docker,然后按步骤配置:启用Windows功能、设置默认WSL版本为2,并检查Docker及其组件是否正常工作。接着详细列出了Docker的基础命令及其用法,包括搜索、下载镜像、管理容器等。同时介绍了Dockerfile的编写方法及其构建过程,以及docker-compose.yml文件的用途。最后提供了运行和管理容器的具体示例。
Windows-Docker学习笔记(一)
|
存储 关系型数据库 MySQL
MySQL 为什么使用 B+ 树作为索引结构?
MySQL 为什么使用 B+ 树作为索引结构?
463 2
|
分布式计算 搜索推荐 Hadoop
03 Hadoop国内外应用案例介绍
03 Hadoop国内外应用案例介绍
810 0