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的更多相关文章

  1. SWD接口:探索&泄密&延伸

    http://bbs.21ic.com/icview-871133-1-1.html 文买了个JLINKV9,以为神器,拿到手发现根本不是,完全没必要替换V8,想自己做个另类的调试器,当然想只是想而已 ...

  2. Serial Wire Debug (SWD) Interface -- PSoc5

    PSoC 5 supports programming through the serial wire debug (SWD) interface. There are two signals in ...

  3. Introduction to Cortex Serial Wire Debugging

    Serial Wire Debug (SWD) provides a debug port for severely pin limited packages, often the case for ...

  4. 如何在 arm 官网上找到合适的手册

    http://infocenter.arm.com/help/advanced/help.jsp 在这里输入合适的版号即可 这样就可以不用去 CSDN 了 100000_0000_00_EN - AR ...

随机推荐

  1. ArcGIS中添加进自定义的ttf字符标记符号

    原文:ArcGIS中添加进自定义的ttf字符标记符号 ArcGIS系统中的样式可能不能满足实际生产需要,为了实现快速制图,可自定义一些样式,以便重复利用. 1.   制作的符号库 使用 FontCre ...

  2. 深入浅出WPF(1)—转(http://liutiemeng.blog.51cto.com/120361/91631/)

    深入浅出WPF(1)——什么是WPF 2008-05-15 19:06:00   小序:   Hi,大家好!几乎两个月没有写技术文章了.这两个月,我在学习WPF.回顾一下两个月的学习历程,有两个感觉— ...

  3. sqlserver 一个排序问题

    当 应用select * into a from b order by b1,b2语句时,试图使a表中的物理顺序改变,是 不能够实现的 select * into 同时复制了b表的物理结构,所以a表中 ...

  4. Sqlcompletefree

    Sqlcompletefree SQLSERVER中SQL代码自动提示填充,自动格式化SQL语句工具Sqlcompletefree.方便开发操作.

  5. mysql按条件查询当条件是数字的时候加不加引号是一样的。

    select * from user where id=1 select * from user where id="1" 在查询的注意是否需要加上"";

  6. AES对称加密算法原理

    原著:James McCaffrey 翻译:小刀人 原文出处:MSDN Magazine November 2003 (Encrypt It) 本文的代码下载:msdnmag200311AES.exe ...

  7. angularjs 获取地址传参

    .controller('CityCtrl', function ($scope, $location,$ionicModal) { 注入location服务 $scope.name = $locat ...

  8. mvc理念和thinkphp的语法特征 thinkphp引入模板

    mvc即模型(model)-视图(view)-控制器(controller)的缩写 控制器很重要,功能性的东西要靠它实现,模型我还没接触到,只知道它对数据库负责,类似一个大控件吧... 速度... 一 ...

  9. Unicode和多字节字符集 (MBCS) 杂谈

    这个估计是很多人曾经头疼过的问题,现在的VC版本基本都支持Unicode和多字节字符集 (MBCS),在进行MFC编程时VC的默认设置是unicode字符集.但是我们通常需要做一些代码移植的工作,如果 ...

  10. SweetAlert2 使用教程

    SweetAlert2是一款功能强大的纯Js模态消息对话框插件.SweetAlert2用于替代浏览器默认的弹出对话框,它提供各种参数和方法,支持嵌入图片,背景,HTML标签等,并提供5种内置的情景类, ...