通过Trace32导出BMC跟踪流

问题描述 投票:0回答:1

我正在使用两个包含两个ARM处理器的硬件平台:

  • Cortex-A15和
  • 的Cortex-R5。

我想通过Lauterbach Trace32导出由程序流和BMC值组成的混合跟踪(基准计数器/性能计数器)。为了澄清我的意图,我提供了以下合成示例:

Instruction | Cache Misses | ... |
------------+--------------+------
 0x1234     | 1            | 0
 0x1235     | 1            | 0
 0x1236     | 2            | 0 

我尝试使用以下命令来正确设置跟踪器:

bmc.PMN0 DCMISS
bmc.export ON
bmc.trace ON
bmc.select PMN0

不幸的是,我无法导出包含我设置的BMC的跟踪。我已经尝试过一些trace.export命令,但我从未成功过。

有谁知道如何产生这样的痕迹?谢谢。

performancecounter tracing trace32 lauterbach
1个回答
1
投票

在Cortex-A和Cortex-R上,性能计数器(又称“BenchMark计数器(BMC)”)通常不能通过CoreSight跟踪传输。 (顺便说一句:某些Cortex-M可以通过CoreSight ITM导出BMC。这个处理器的列表列在这个table,DWT专栏中)。

但是,可以在运行时读取性能计数器,这样可以在运行时对其值进行采样。

要在运行期间对性能计数器进行采样,请使用SNOOP.OFFSNOOP.AutoArm ON启用SNOOPer,并使用SNOOPer.Mode BMC选择BMC计数器。使用SNOOPer.List查看结果。

要将结果保存到硬盘驱动器以供以后分析,您可以使用SNOOPer.SAVE *并稍后使用SNOOPer.LOAD *重新加载它

© www.soinside.com 2019 - 2024. All rights reserved.