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 ...
随机推荐
- 网络拥塞控制(三) TCP拥塞控制算法
为了防止网络的拥塞现象,TCP提出了一系列的拥塞控制机制.最初由V. Jacobson在1988年的论文中提出的TCP的拥塞控制由“慢启动(Slow start)”和“拥塞避免(Congestion ...
- js的执行顺序
js是顺序执行的,但是在一个<script></script>标签中,后面的函数会预加载.如: <script type="text/javascript&qu ...
- rm 命令(转)
昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所 ...
- Android ListView与ExpandableListView设置分割线divider
listview设置分割线需要以下操作: lv.setDivider(getResources().getDrawable(R.drawable.diyline)); ExpandableListVi ...
- PHP回调函数的几种用法
PHP回调函数的实现方法 目录 前言 全局函数的回调 类静态函数的回调 对象的方法的回调 PHP事件模型(观察者模式)的实现思路 前言 最近在开发一个PH ...
- mysql 操作日期函数【增加,减少时间】
详情链接:http://www.runoob.com/sql/func-date-add.html 定义和用法 DATE_ADD() 函数向日期添加指定的时间间隔. DATE_ADD(date,INT ...
- VI设置及用法
VI设置通过/etc/vim/vimrc设置vi的基本操作格式. 全局属性通过末行模式输入可临时设置. syntax on ;高亮显示 set tabstop=4 setsofttabstop=4 ; ...
- [算法]Comparison of the different algorithms for Polygon Boolean operations
Comparison of the different algorithms for Polygon Boolean operations. Michael Leonov 1998 http://w ...
- [3D]绘制线
数据实体: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sy ...
- [ArcEngine]IFeatureBuffer使用
public static void LoadOnlyModeInsert(IFeatureClass featureClass, List < IGeometry > geometryL ...