Embedded Trace Macrocell Interface
ARM DDI 0337G
Copyright © 2005-2008 ARM Limited. All rights reserved.
15-3
Unrestricted Access
Non-Confidential
15.2
CPU ETM interface port descriptions
The processor has a port that enables the ETM to determine the instruction execution
sequence. These port descriptions are described in Table 15-1.
Table 15-1 ETM interface ports
Port name
Direction
Qualified by
Description
ETMIVALID
Output
No qualifier
Instruction in execute is valid. Marks that an opcode has
entered the first cycle of execute.
ETMIBRANCH
Output
ETMIVALID
Opcode is a branch target. Marks that current code is the
destination of a
Program Counter
(PC) modifying event
(branch, interrupt processing).
ETMIINDBR
Output
ETMIBRANCH
Opcode branch target is indirect. Marks that the current
opcode is a branch target whose destination the PC
contents cannot deduce. For example, LSU, register
move, or interrupt processing.
ETMDVALID
Output
No qualifier
Signals that the current data address as seen by the
Data
Watchpoint and Trace
(DWT) is valid on this cycle.
ETMICCFAIL
Output
ETMIVALID
Opcode condition code fail or pass. Marks if the current
opcode has failed or passed its conditional execution
check. An opcode is conditionally executed if it is a
conditional branch, or for all other opcode found in an IT
block.
ETMINTSTAT[2:0]
Output
No qualifier
Interrupt status. Marks the interrupt status of the current
cycle:
000 no status
001 interrupt entry
010 interrupt exit
011 interrupt return
100 - Vector fetch and stack push.
ETMINTSTAT
Entry/Return is asserted in the first cycle of the new
interrupt context. Exit occurs without
ETMIVALID
.
ETMINTNUM[8:0]
Output
ETMINTSTAT
Interrupt number. Marks the interrupt number of the
current execution context.