Login

CoreSight 跟踪宏单元

CoreSight 跟踪宏单元 Image (View Larger CoreSight 跟踪宏单元 Image)
CoreSight™ 跟踪宏单元在 SoC 中提供全面的非干预性可见性。
  • Embedded Trace Macrocell ™ (ETM),用于 ARM 处理器的非干预性、周期精确的程序和数据跟踪
  • 程序跟踪宏单元 (PTM),用于 Cortex-A9 程序流跟踪
  • 测量跟踪宏单元 (ITM),用于高级软件视图
  • AHB 跟踪宏单元  (HTM),用于性能和功能调试

通过遵循 CoreSight 架构规范,可以方便地将合作伙伴特定的跟踪宏单元集成到 CoreSight 系统中。

 


由于几何尺寸缩小且 SoC 封装尺寸保持不变或变小(受成本因素的影响),需要使用专用的实时跟踪模块来提供片上可见性。

作为 CoreSight 解决方案的一部分,ARM 提供了一整套实时跟踪宏单元:

  • ARM 处理器实时跟踪宏单元 (ETM / PTM),用于观察如何在 ARM 处理器上执行软件。
  • 测量跟踪宏单元,用于高级软件测量(输出类型调试、操作系统和应用程序事件)
  • 总线跟踪宏单元,用于显示无法从内核跟踪推断的总线信息。

为什么选择嵌入式跟踪宏单元?

在进行调试或优化嵌入式系统时,嵌入式开发人员有两个主要选择:

  1. 常规调试:通常要设置断点和/或观察点以停止处理单元,从该处使用调试连接来检查或修改寄存器或内存,并执行一个单步以了解程序的工作方式。

    尽管开发人员可通过常规调试来控制执行并调试代码,但常规调试存在一些缺点:
    • 干预性:调试将控制系统行为。
    • 需要停止处理器:对于某些应用,可能无法停止处理器(例如,硬盘、汽车等)。
    • 非实时:无法用于实时调试运行的软件。
    • 性能不可见:无法观察软件性能。
  2. 实时跟踪:在系统运行时,跟踪宏单元收集指令和/或数据传输,压缩这些信息,并在芯片外(实时)或芯片上提供这些信息以进行后处理。
    然后,跟踪将与开发工作站中的源代码合并,以进行后续分析。

通过使用 CoreSight 嵌入式跟踪宏单元,开发人员可以实时分析软件如何在平台上运行,以加快产品开发速度并提供高质量的优化软件。
ETM 和 PTM 的主要特性和优点如下所示:

主要特性

主要优点

跟踪全速运行的内核,而不会产生任何性能开销  实时跟踪和调试正在执行的系统
周期精确的跟踪  收集有关程序执行的重要计时信息,以进行性能优化和“始终准时的”代码验证 
大量的顺序触发器逻辑和片上过滤条件控制捕获的数据  捕获有关要查看的事件的程序活动
查看较长时间的跟踪 
很高的跟踪数据压缩率(对于 Cortex-A9,每个指令大约为 0.4 位跟踪)  更高的可见性,需要更少的针数或更小的跟踪缓冲区 


CPU 跟踪宏单元基准

有关 ETM 基准注意事项,请参阅:


CPU 跟踪宏单元™ (ETM/PTM)

嵌入式跟踪宏单元™ (ETM) 和程序跟踪宏单元™ (PTM) 为 ARM 处理器提供了全面的调试和跟踪功能。它们可用来在特定事件前后捕获有关处理器的信息,而不会增加处理器性能负担,同时处理器会以全速运行。

ARM CPU 跟踪宏单元系列包含用于 Cortex™ 处理器的 CoreSight ETM 和 PTM(AR M 系列)以及 ETM11™、ETM9™、ETM7™。

可以在软件中配置嵌入式跟踪宏单元以仅捕获某些跟踪信息,以及仅在满足一系列特定条件后捕获。请参阅表 1。

CoreSight SoC 基础结构允许在芯片上使用嵌入式跟踪缓冲区捕获压缩跟踪数据,或者通过外部跟踪端口分析器(如RealView Trace 单元)从芯片读取这些数据,而不会中断或影响处理器。有关 CoreSight SoC 组件的更多详细信息

由于 CoreSight ETM 和 PTM 可通过 CoreSight 设计工具包的功能独立使用或在多核环境中使用,因此开发人员可以查看多个异步内核中的同时相关跟踪。

表 1 - ETM 功能

功能  #
地址比较程序  8
数据比较程序  2
地址范围比较程序   4
16 位计数器   2
三阶段序列发生器   1
外部输入   4
外部输出  2*

注释
面积来自布局后的试验合成。
ETM7(中)仅有 1 个外部输出。

嵌入式跟踪宏单元 (ETM)

ETM 宏单元为 ARM 微处理器提供实时指令跟踪和数据跟踪。跟踪软件工具使用 ETM 生成的信息重建全部或部分程序的执行情况。

程序跟踪宏单元 (PTM)

PTM 是一个模块,它根据程序流程跟踪 (PFT) 体系结构执行实时指令流跟踪。跟踪工具使用 PTM 生成的信息重建全部或部分程序的执行情况。

测量跟踪宏单元 (ITM)

CoreSight ITM 块是一个软件应用程序驱动的跟踪源。支持的代码将生成软件测量跟踪 (SWIT)。此外,该块还提供粗略的时间戳功能。

该块的主要用途是:

  • 支持 printf 风格调试
  • 跟踪操作系统和应用程序事件
  • 发出诊断系统信息

AHB 跟踪宏单元 (HTM)

HTM 可显示无法使用 ETM 从内核跟踪推断的总线信息:

  • 了解多层总线利用率。
  • 软件调试。例如,内存区域访问和数据访问的可见性。
  • 跟踪触发器或过滤器的总线事件检测,以及用于总线分析。

HTM 提供了有关 AHB 总线的地址和数据跟踪信息。通过将 HTM 中的信息与调试器结合使用,可对基于 AHB 的嵌入式系统进行方便、精确的调试。HTM 提供了广泛的资源以使事件识别功能生成触发事件。HTM 通过 AMBA 跟踪总线 (ATB) 来生成输出的跟踪数据。跟踪调试功能是非干预性的。可以使用 APB (AMBA v3) 接口来控制 HTM。


 

处理器

相关产品

CoreSight 产品

优点

ARM7TDMI、ARM7TDMI-S、ARM720TSC100 ETM7 单个 ARM7 处理器的完整周期精确的非干预性指令和数据跟踪。
ARM920T、ARM922T、ARM9TDMI、SC200 ETM9     单个 ARM9 处理器的完整周期精确的非干预性指令和数据跟踪。
ARM926EJ-S、ARM946E-S、ARM966E-S、ARM968E-SARM7EJ-S CoreSight ETM9  ARM9E 处理器的完整周期精确的非干预性指令和数据跟踪。CoreSight 与多核调试和跟踪兼容。
ARM1136J(F)-S、ARM1156T2(F)-S、ARM1176JZ(F)-S、ARM11 MPCore  CoreSight ETM11 ARM11 处理器的完整周期精确的非干预性指令和数据跟踪。CoreSight 与多核调试和跟踪兼容。
Cortex-R4 CoreSight ETM-R4     Cortex-R4 处理器的完整周期精确的非干预性指令和数据跟踪。CoreSight 与多核调试和跟踪兼容。
Cortex-A5 CoreSight ETM-A5    Cortex-A5 处理器的完整周期精确的非干预性指令和数据跟踪。CoreSight 与多核调试和跟踪兼容,具有全局时间戳以保持异步跟踪关联。
Cortex-A9 CoreSight PTM-A9 Cortex-A9 处理器的非干预性程序流跟踪。CoreSight 与多核调试和跟踪兼容,具有全局时间戳以保持异步跟踪关联。
Cortex-A8 内核附带的 ETM(在可合成的内核中可选) Cortex-A8 处理器的周期精确的非干预性指令和数据地址跟踪。CoreSight 与多核调试和跟踪兼容。
Cortex-M3SC300

内核附带的 ETM(可选)    

ATB 异步桥

ATB 扩容程序

Cortex-M3 和 SC300 处理器的非干预性指令跟踪。CoreSight 与多核调试和跟踪兼容。

ATB 异步桥和扩容程序,用于在较高频率多核 SoC 中实现最佳集成。

工具支持

20 个工具供应商支持 CoreSight 跟踪宏单元。有关支持 CoreSight 跟踪宏单元的工具供应商的更多详细信息,请单击此处并查看“工具支持”选项卡。


 
» 
Powered 5607
Go Left
Go Right

Maximise


Cookies

We use cookies to give you the best experience on our website. By continuing to use our site you consent to our cookies.

Change Settings

Find out more about the cookies we set