ADIv5.2
ADI:ARM Debug Interface,出到现在共有五代:
1)version1 and version 2:只针对ARM7TDMI和ARM9的processor;
2)version 3:只针对ARM10的processor family;
3)ADIv4:使用与所有的ARMv6 architecture;
4)ADIv5.2:针对ARMv7-A和ARMv8-A的processor;分为了Access Port(AP) architecture和Debug Port(DP) architecture
DP包括三类:1)JTAG-DP; 满足IEEE 1149.1的接口;
2)SW-DP; 基于packet-based protocol(host-target req, target-host ack, data transfer)
3)SWJ-DP; can switch between SWD and JTAG
AP包括两类:1)MEM-AP(扩展到AXI/ACE); a memory-mapped resource such as a debug peripheral
2)JTAG-AP; a legacy jtag device
DP来连接外部的host,AP来访问内部的debug component registers
由
ADIv5 DAP
CoreSight components
CoreSIght debug architecture
能提供的功能包括:
1)Embedded core debug functionality,由arm core和ETM这样的module来保证
1)modify the contents of the internal registers and the memory system;
2)read the contents of the internal registers and the memory system;
3)program debug events,在某个event被触发之后,processor可以由外部可控;
4)Force the processor to enter and exit debug state;
5)Trace program flow around programmable events;
2)System debug functionality,系统性的debug
1)Components within an embeded SoC
program trace
cross-triggering mechanisms
2)The interconnection fabric of the system
trace access on the interconnection fabric
从DP到AP的access:
由AP_Select选择不同的AP,
address的A[7:4]选择不同的bank;
address的A[3:2]选择不同的register;
四个寄存器保存每个ap的一些信息

在DP的implement过程中,
首先选择不同的DP接口:

选择每个JTAG-AP的JTAG scan chain的个数;
选择每个scan chain中包含的TAP的个数,主要是为了嵌套扩展;
在AP的implement过程中,
首先选择MEM-AP或者JTAG-AP,
在架构方面。可以选择MEM-AP直接连接到debug register file或者system bus再连接到debug register file,
结合ROM_TABLE进行MEM-AP的address map以及bus width的决定。




从DP到MEM-AP的access的路径图:
前半部分的memory map与DP到AP的相同,
但是到mem-ap的部分,必须有一个rom table来进行寄存器的访问。

同样的DP到JTAG-AP的路径图:
TDO的信号经过一个mux来回到jtag的接口ap中。

ADIv5.2的更多相关文章
- SWD接口:探索&泄密&延伸
http://bbs.21ic.com/icview-871133-1-1.html 文买了个JLINKV9,以为神器,拿到手发现根本不是,完全没必要替换V8,想自己做个另类的调试器,当然想只是想而已 ...
- Serial Wire Debug (SWD) Interface -- PSoc5
PSoC 5 supports programming through the serial wire debug (SWD) interface. There are two signals in ...
- Introduction to Cortex Serial Wire Debugging
Serial Wire Debug (SWD) provides a debug port for severely pin limited packages, often the case for ...
- 如何在 arm 官网上找到合适的手册
http://infocenter.arm.com/help/advanced/help.jsp 在这里输入合适的版号即可 这样就可以不用去 CSDN 了 100000_0000_00_EN - AR ...
随机推荐
- js严格模式“use strict”
js的严格模式会放弃js中的一些不正规的写法,参考 http://www.cnblogs.com/God-Shell/p/3139329.html: 使用声明"use strict&quo ...
- 【android学习4】Eclipse中Clean作用
今天修改Servlet中代码,重启服务端程序之后发现没有启作用,于是Clean了一把,果然生效. 查阅资料得知,Eclipse中是根据时间戳去编译代码,如果某个类对应的时间戳没有发生改变就不会重新编译 ...
- Selenium2学习-008-WebUI自动化实战实例-006-易迅登录之 frame 处理
此文主要讲述用 Java 编写 Selenium 自动化测试脚本编写过程中,在因 frame 标签导致页面定位失败,提示 NoSuchElementException 时的,页面元素定位前的 fram ...
- Sql server中内连接语句
数据库中学生表和课程表如下: 内连接sql语句: select a.studentName,a.studentAge,b.courseName from student a inner join co ...
- 获取微信服务器IP地址
关键字:微信公众平台 微信服务器 IP地址 如果公众号基于安全等考虑,需要获知微信服务器的IP地址列表,以便进行相关限制,可以通过该接口获得微信服务器IP地址列表. 接口调用请求说明 http请求方式 ...
- 浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 第 2 部分: UpStart 第 3 部分: Systemd
浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 第 2 部分: UpStart 第 3 部分: Systemd http://www.ibm.com/developerw ...
- 不连数据库List分页
package com.jpsycn.kfwggl.common.crawl; import java.util.ArrayList; import java.util.List; public cl ...
- 第一段nodejs代码
步骤一.创建服务器 接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口. 函数通过 request, response 参数来接收和 ...
- android mContainer.setPersistentDrawingCache (int drawingCacheToKeep)
mContainer.setPersistentDrawingCache(ViewGroup.PERSISTENT_ANIMATION_CACHE); persistentDrawingCache设置 ...
- 更改AlertView背景
UIAlertView *theAlert = [[[UIAlertViewalloc] initWithTitle:@"Atention" message: @"I'm ...