芯片DFX:Coresight的两大功能

coresight具有两大功能,一个是debug,一个是trace。

debug

debugger通过DAP,来实现debug功能

单core的debug系统

一个DAP,加上一个AP和APBIC。

外部对DP访问,DAP将DP访问,转化为AP访问,AP通过APBIC,生成AP总线,通过bridge,对ARM core中的debug资源,或者挂接在debug APB上的coresight组件,进行访问。

多core的debug系统


一个DAP,DAP内实现了多个AP,这些AP实现jtag或memory-mapped方式访问debug资源

外部对DP访问,DAP将DP访问,转化为APB AP或者JATG AP访问,如果是jtag访问,直接通过JTAG AP,以jtag方式,对连接到该jtag上的处理器进行访问。

如果是APB访问,通过APX mux,判断对处理器访问呢,还是挂接在debug APB总线上的coresight组件进行访问,如果对处理器访问,经过APB bridge对处理器进行访问。

如果对挂接在debug APB总线上的coresight组件进行访问,那么就直接进行访问。

下图是debug组件,在coregisht系统中的位置。

trace

单core的简单trace系统

下图是单core的简单trace系统,只有一个trace源。


只有一个trace源(ETM),因此中间都不需要trace link组件,trace源直接将trace信息输出给trace sink(TPIU)。

因为只有一个trace源,因此也不需要trace formatters。

在CoreSight中,trace link是指跟踪(trace)信息传递过程中所需的中间组件,包括router、filter和FIFO。这些组件用于在跟踪数据生成和接收之间建立连接,并确保数据能够正确地传输。

另一方面,trace formatters是用于格式化跟踪数据的组件。它们能够将跟踪数据转换成所需的格式,以便进行分析、显示或存储。在CoreSight中,trace formatters通常与trace sources一起使用,以确保跟踪数据能够以正确的格式进行输出。

单core的高级trace系统

下图是单core的高级trace系统,拥有用个trace源。


有多个trace源(ETM,STM),因此中间需要trace link组件(funnel),funnel合并trace信息,发送给replicators,replicators再分发给trace sink(TPIU,ETB)

因为有trace link组件,因此trace sink需要trace formatters,将trace数据格式化,得到真正的数据。

多core的高级trace系统

有多个core,每个core有自己的trace组件。因此会包含很多trace功能的coresight组件。

多cluster的完整coresight系统

下图是一个多cluster的完整的coresight系统。

系统中有两个cluster:

  • system1,以processor作为主设备。这个系统中包括了coresight的多个组件,debug组件,trace组件,trigger组件。

  • system2,以DSP作为主设备。这个系统中包括了coresight的多个组件,debug组件,trace组件,trigger组件。

两个子系统通过interconnect连接到一起,实现相互间的通信以及访问外部外设

同时两个子系统的CTM和外部的CTM连接到一起,实现两个子系统之间的event的相互传输。

整个系统中,包括一个DAP,DAP中有

  • 一个DP,SWJ-DP(jtag和sw协议转化),
  • 两个AP,AHB-AP(产生AHB总线), APB-AP(产生APB总线)。

AHB-AP产生的AHB总线,直接连接到系统中的interconnect上,就可以访问连接到interconnect的外部外设(如memory)

APB-AP产生的APB总线,连接到两个子系统的debug apb上,实现对子系统的coresight组件的寄存器访问。如ETM,CTI,HTM,funnel等。

同时APB总线还连接到了系统的debug apb上,实现对系统的coresight组件的寄存器访问。如funnel,ETB,TPIU,CTI等。

两个子系统的trace信息,通过各自的funnel输出到系统的funnel上,funnel对两个子系统的trace信息进行合并,然后输出给replicator。

replicator将接收的trace信息,广播给ETB和TPIU。TPIU在通过trace port将信息输出到外部。

参考资料

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值