5.15.4 Program flow trace

If enabled, every executed branch instruction triggers this trace source, which is a more efficient way to reconstruct the program flow than by tracing every instruction.

Output syntax:

<time> <scale> {<cpu>} [FD|FI] (<inst_id>) <addr> <targ_addr> [A|T|X|O]

<time>

Timestamp (decimal value).

<scale>

Unit for <time>. Gives consistency with device-specific Tarmac Trace formats.

<cpu>

Processor, or other component, that gave the instruction.

[FD|FI]

Program flow change by:

FD
A direct branch.
FI
An indirect branch.
<inst_id>

Tick count of this processor, which is equivalent to the number of instructions that are executed, except for certain instructions like WFI/WFE (decimal value).

<addr>

Fetch source address for this instruction. Format according to the common address definition.

<targ_addr>

Address (virtual) at which the execution continues. Format according to the common address definition.

[A|T|X|O]

Instruction set after the branch:

A
A32.
T
T32.
X
T32EE.
O
A64
Non-ConfidentialPDF file icon PDF version100964_1180_00_en
Copyright © 2014–2019 Arm Limited or its affiliates. All rights reserved.