1、CoreSight
CoreSight是一种基础架构,它可对完整的芯片上系统 (SoC) 设计的性能进行调试、监视和优化,CoreSight™ 跟踪宏单元在 SoC 中提供全面的
非干预性可见性。通过遵循 CoreSight 架构规范,可以方便地将合作伙伴特定的跟踪宏单元集成到 CoreSight 系统中。
ARM公司的CoreSight AHB追踪分析宏单元提供给了开发人员完整的AMBA AHB上行为的可见性,为调试和优化系统带来了很大的便利。
CoreSight(内核景象)调试架构是ARM在推出Cortex之后推出来的,旨在丰富ARM产品的调试功能,功能是相当强大
CoreSight技术支持JTAG协议和SW协议,其实更具体的说实际上是CoreSight把JTAG和SW协议转换成通用的内部DAP协议,
这里只是利用了JTAG和SW接口。
ARM开发工具和 Keil开发工具以及全球超过 25 个其他调试和性能分析工具支持 CoreSight 产品组合(包含 ARM 嵌入式跟踪宏单元(ETM)),
从而向产品开发团队保证其产品将得到广泛的支持。
2、ETM
---- Embedded Trace Macrocell 嵌入式跟踪宏单元
ETM 宏单元为 ARM 微处理器提供实时指令跟踪和数据跟踪。跟踪软件工具使用 ETM 生成的信息重建全部或部分程序的执行情况。
3、PTM
---- Program Trace Macrocell 程序跟踪宏单元
PTM 是一个模块,它根据程序流程跟踪 (PFT) 体系结构执行实时指令流跟踪。跟踪工具使用 PTM 生成的信息重建全部或部分程序的执行情况。
4、术语
---- CTI:Cross Trigger Interface 交叉触发接口
---- ETB:Embedded Trace Buffer 嵌入式跟踪缓冲区
CoreSight ETB 是一个跟踪接收器,它可使用可配置大小的 RAM 为跟踪数据提供芯片上存储。
---- ETR:Embedded Trace Router
---- ETF:Embedded Trace FIFO
---- STM:System Trace Macrocell 系统跟踪宏单元
STM为所有软件开发人员提供了低成本的软件和硬件执行实时可见性,尤其是应用程序和内核开发人员,从而为整个供应链中支持 ARM 处理器
的设备提供了功能丰富且优化的低能耗软件。
---- TMC:Trace Memory Controller
---- TPIU:Trace Port Interface Unit
---- Funnel
---- Replicator
---- DAP:Debug Access Port 调试访问接口
Cortex-M3 的调试系统是基于ARM最新的CoreSight架构。不同于以往的ARM处理器,内核本身不再含有JTAG接口。取而代之的,是CPU提供
的DAP总线接口。通过这个总线接口,可以访问芯片的寄存器,也可以访问系统存储器,甚至是在内核运行的时候访问。对此总线接口的使用,
是由一个调试端口(DP)设备完成的。DPs不属于CM3内核,但它们是在芯片的内部实现的。目前可用的DPs包括SWJ-DP(既支持传统的JTAG
调试,也支持新的串行线调试协议),另一个SW-DP则去掉了对JTAG的支持。另外,也可以使用ARM CoreSight家族的JTAG-DP模块。
根据在coresight架构中的作用,这些模块大体可以分为source/link/Sink三种类型。
Source就是指一些信号或者profile/debug数据的来源,比如STM和ETM。
Sink就是指一些可以保持这些从source过来数据的模块,比如最基本的ETB,从buffer这个单词大体可以猜出一二,另外还有ETR,TPIU等等。
讲完了source和sink之后,那么link就是指用于引导从source到sink过程中的类似于通道作用的模块。当然这些通道的作用各不一样。
FUNNEL是用途将来之不同的source的数据合并,而replicator是这些合并之后的数据再一式两份,发送给不同的sink。
replicator从这个英文名称中就可以看出端倪。
下面是ARM官方文档中的一张截图,大体可以看出这些不同的模块在整个coresight架构中的作用。