3.1. Instruction trace

If enabled, this trace source generates one record for every instruction being executed.

Records (lines) of the instruction trace provide related information in the following command syntax:

<time> <scale> [IT|IS] (<inst_id>) <addr> <opcode> [A|T|X] <mode>_<security> : <disasm>

The fields have the following meaning:

<time>

Timestamp (decimal value).

<scale>

Unit for the previous field <time>. clk is used to indicate the timestamp is not related to real time, but an increasing count.

[IT|IS]

This field set to IT indicates that the instruction passed the condition code (taken). This field set to IS indicates that the instruction failed the condition code (skipped).

<inst_id>

The tick count of this core. This is equivalent to the number of instructions executed, except for certain instructions like WFI/WFE (decimal value).

<addr>

Address from where this instruction was fetched, in hexadecimal format (virtual address).

<opcode>

16-bit/32-bit hexadecimal opcode of the instruction.

[A|T|X]

Current instruction set:

  • A represents an ARM instruction

  • T represents a Thumb instruction

  • X represents a Thumb-2EE instruction.

<mode>

Processor execution mode (svc, irq, fiq, usr, mon, sys, abt, und).

<security>

Processor security state (s or ns).

<disasm>

Disassembly of the instruction executed.

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0532D
Non-ConfidentialID051712