hi, experts:
在看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)
best wishes,
Hi,
>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来配置。
>2. CoreSight是一个generic concept?
> 它包含了所有debug 相关的IP? (比如:ETM / CTI)
CoreSight有多个层面的含义:
首先,CoreSight是一个架构,或者说是一个specification,详见《CoreSight Architecture Specification》
其次,CoreSight也涵盖了实现上述架构的IP。我们把这些IP统称为CoreSight components。
第三,一个SoC上通常会包含一个具备debug和trace功能的subsystem,称为CoreSight subsystem。
Regards,
Xingguang