潮声隔雨深 · 2020年01月02日

CoreSight / ETM / CTI等等,它们之间的关系?

在看ARMv7/v8 ARM手册的时候,总是不太明白CoreSight / ETM / CTI等等,它们之间的关系。

以Cortex-A57 MPCore TRM的Figure 2-1为例:

它展示了CA57's block diagram

  1. 如果仅仅使用JTAG tool,通过HW/SW breakpoint进行debug

    只需要:Debug-->APB --> Debug and CTI --> Debug path

    ATB --> Trace --> ETM这条路径,是不需要的??

  2. CoreSight是一个generic concept?

    它包含了所有debug 相关的IP? (比如:ETM / CTI)

1 个回答 得票排序 · 时间排序
一知半解 · 2020年01月02日
  1. 如果仅仅使用JTAG tool,通过HW/SW breakpoint进行debug
只需要:Debug-->APB --> Debug and CTI --> Debug path

是的。

ATB --> Trace --> ETM这条路径,是不需要的??

如果你需要使用trace功能,就需要用到这条路径。trace功能可以输出CPU执行的指令流(基于一定的触发条件),用来解决传统的debug不能解决的bug。trace部分也包含一系列CoreSight IP,需要用Debug APB来配置。

  1. CoreSight是一个generic concept?

    它包含了所有debug 相关的IP? (比如:ETM / CTI)

CoreSight有多个层面的含义:

首先,CoreSight是一个架构,或者说是一个specification,详见《CoreSight Architecture Specification》

其次,CoreSight也涵盖了实现上述架构的IP。我们把这些IP统称为CoreSight components。

第三,一个SoC上通常会包含一个具备debug和trace功能的subsystem,称为CoreSight subsystem。

你的回答