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 ...
随机推荐
- insert into hi_user_score set hello_id=74372073,a=10001 on duplicate key update hello_id=74372073, a=10001
insert into hi_user_score set hello_id=74372073,a=10001 on duplicate key update hello_id=74372073, a ...
- ”靠谱的C#“单例模式
//静态构造函数的单例模式 public sealed class Singleton { private static readonly Singleton _instance = new Sing ...
- SIP学习(实例详解)
本文摘自:http://blog.chinaunix.net/uid-20655530-id-1589483.html 学习 SIP 协议最快捷的方法是通过范例来学习, 找到了一个完整的呼叫流程,le ...
- Select Statement Syntax [AX 2012]
Applies To: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 ...
- Swift-11-协议(Protocols)
协议定义了一个蓝图,规定了用来实现某一特定工作或者功能所必须的方法和属性.类.结构体或者枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能.任意能满足协议要求的类型被称为遵循confor ...
- php object转数组示例
原本是这样格式的数据: object(Thrift\Server\PageCards)#32 (3) { ["cards"]=> array(10) { [0]=> o ...
- sqlserver中表变量和变量表之间区别
sqlserver中表变量和变量表之间区别
- php文件和目录操作函数
文件:打开和关闭:fopen(), fclose()读:readfile(), file(), file_get_contents(), fgets(), fgetss(), fgetc()写:fwr ...
- saltstack之(二)软件包下载安装
由于salt组件的安装依赖较多,最好使用yum源安装(不建议使用源码安装).由于试验环境限制,不能使用网络,故增加了实验的难度.下面分可以访问internet和不可以访问internet两方面介绍sa ...
- win2003下全自动快速安装php+mysql套件
导读:Windows 2003下一键快速安装PHP和MySql的安装包 场景:wind2003 32位 php5.2 1.下载php+mysql套件 地址1 http://pan.baidu.com/ ...