ARM片上调试和跟踪解决方案(包括CoreSight体系结构,嵌入式跟踪宏单元(ETM),程序流程跟踪(PTM),ARM调试接口(ADI),

跟踪缓冲器(ETB),嵌入式交叉触发器(CTM))

CoreSight片上调试和跟踪包括:

1)CoreSight体系结构的体系结构规范,程序流程跟踪宏单元(PTM),嵌入式跟踪宏单元(ETM),高速串行跟踪接口(LVDS/MIPI)

ARM的调试接口(SWD/JTAG)

2)CoreSight组件包括调试访问接口(DAP),嵌入式交叉触发器(ECT),AMBA跟踪总线(ATB),桥和复制器(replicator),

跟踪聚合器(funnel),跟踪端口接口单元(TPIU),嵌入式跟踪缓冲器(ETB),测量跟踪宏单元(ITM/STM)

3)ARM处理器(包括CoreSight ETM9,CoreSight ETM11,CoreSight ETM-R4,CoreSight PTM-A9)跟踪宏单元

4)AMBA AHB跟踪宏单元(HTM)

5)TPIU-Lite和DAP-Lite

JTAG------DAP------DBG APB(连接core的APB接口,配置DBG,PMU,ETM,CTI)

------AXI

------AHB

一个core由DBG,PMU,core_logic,ETM,CTI组成。ETM输出ATB总线,实现trace功能。

trace相较于DBG,是一种非侵入式的debug方式,而且可以收集的软件执行信息更多。

单核调试:core----CTI----coresight,输入单核的触发信息。

多核调试:core----CTI----CTM-----coresight,实现多核共同触发。

ETM:embedded Trace Macrocell

ETM----funnel----ETR----TPIU(输出到pad)

----ETB(小的存储器)

----DDR

整个debug sys的架构:

Trace Sys的更多相关文章

  1. 【方法整理】Oracle 获取trace跟踪文件名的几种常用方式

    [方法整理]Oracle 获取trace跟踪文件名的几种常用方式 1  BLOG文档结构图     2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学 ...

  2. 动态执行python脚本

    前言 存在许多独立的python脚本,这些脚本可能会增加,也可能会减少,现在需要按照某种顺序调度这些程序.在python的standard library中,有一个模块imp可以实现动态的调用ptho ...

  3. python traceback 变量值

    import sys import traceback import cgitb def handleException(excType, excValue, trace): print 'error ...

  4. OGG同构(ORACLE-ORACLE)、异构(ORACLE-MYSQL)同步配置及错误解析

    环境:11.2.0.3(已安装数据库实例)+OEL5.7 192.168.1.55 zlm sid:zlm11g 192.168.1.60 zlm2 sid:zlm11g 一.安装软件,配置环境,创建 ...

  5. 使用最新的log4cplus(1.1.1)隔离不同的 log 文件输出

    部分参考了博客. http://www.cppblog.com/tx7do/articles/11719.html 基于脚本配置来过滤log信息 除了通过程序实现对log环境的配置之外,log4cpl ...

  6. Oracle DBA 必须掌握的 查询脚本:

    Oracle  DBA 必须掌握的 查询脚本: 0:启动与关闭 orcle 数据库的启动与关闭 1:连接数据库 2:数据库开启状态的实现步骤:       2-1:启动数据库           2- ...

  7. python学习---装饰器

    什么是装饰器 器即函数 装饰即修饰,意指为其他函数添加新功能 装饰器定义:本质就是函数,功能是为其他函数添加新功能 装饰器需要遵循的原则 1.不修改被装饰函数的源代码(开放封闭原则) 2.为被装饰函数 ...

  8. Oracle11g 体系结构

    一:Oracle11g 体系结构 二:逻辑储存结构 二.1:数据块(data blocks) ----通过 v$parameter数据字典来查询oracle标准数据块的大小. SYS@orcl> ...

  9. 使用RMAN Active duplicate创建异地auxiliary Database

    1g的RMAN duplicate 可以通过Active database duplicate和Backup-based duplicate两种方法实现.这里的测试使用的是Active databas ...

随机推荐

  1. Linux 有问必答:如何知道进程运行在哪个 CPU 内核上?

    问题:我有个 Linux 进程运行在多核处理器系统上.怎样才能找出哪个 CPU 内核正在运行该进程? 当你在 多核 NUMA 处理器上运 行需要较高性能的 HPC(高性能计算)程序或非常消耗网络资源的 ...

  2. eclipse中hibernate逆向工程出错

    问题已解决!原因是Console configuration的信息编辑有误. 上图中Database connection,如果有已编辑好的可用连接信息就选择,没有的情况下就new一个 如果没有Dri ...

  3. Java私有构造函数不能阻止继承

    下面是一个调用已经私有化的单列的函数的列子. 这里用了静态内部类,关键就是静态内部类可以访问外部类的私有构造函数. 这种算是变种继承吧.前提是可以在原来的单列类里添加代码. class Single ...

  4. shell && 和 || 的短路使用

    shell && 和 || 的短路使用 && 和 || 在 shell 中分别表示 and 和 or,和其它语言类似,这两个操作有短路效应.也就是说,当判断式已经确定时 ...

  5. MEF 松耦合

    MEF天生就有解耦合的特性,虽然它不是为解耦而生,而主要是为插件类应用的开发而设计.如果主要是为了解除耦合的话可以使用IoC,Unity等. Unity 微软的IOC 代码: using System ...

  6. PLSQL 的简单命令之四

    -- 子查询 -- in 等于表中的任意一个 select * from Stu where id in (select id from scores) -- 和子查询返回结果中的某一个值比较成立即可 ...

  7. Java 反射的基本应用

    package com.lf.testreflection; import java.lang.reflect.Field; import java.lang.reflect.Method; impo ...

  8. Java- 基本封装

    package test.studet_manager; public class Student { static int num = 100; // 编号-->唯一的 private int ...

  9. iOS 可延展视图(点击前显示部分文字,点击后显示全部)

                       #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicat ...

  10. iOS如何统计渠道

    http://bbs.umeng.com/thread-10-1-1.html https://www.zhihu.com/question/20697933