0

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

  • Cortex-A15 和
  • 皮质-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命令,但从未成功。

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

4

1 回答 1

1

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

然而,性能计数器可以在运行时读取,这允许在运行时对其值进行采样。

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

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

于 2019-04-01T14:58:05.493 回答