13.3. ETM functional description

Figure 13.1 shows the main functional blocks of the ETM.

Figure 13.1. ETM functional blocks

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.

The ETM blocks are:

Processor interface

This block monitors the behavior of the processor and generates P0 elements that are essentially executed instructions and exceptions traced in program order.

Trace generation

The trace generation block generates various trace packets based on P0 elements.

Filtering and triggering resources

You can filter the ETM trace such as configuring it to trace only in certain address ranges. More complicated logic analyzer style filtering options are also available.

The ETM can also generate a trigger that is a signal to the trace capture device to stop capturing trace.


The trace generated by the ETM is in a highly-compressed form. The FIFO enables trace bursts to be flattened out. When the FIFO becomes full, the FIFO signals an overflow. The trace generation logic does not generate any new trace until the FIFO is emptied. This causes a gap in the trace when viewed in the debugger.

Trace out

Trace from FIFO is output on the synchronous AMBA Advanced Trace Bus (ATB) interface.


The ATB interface from the trace out block goes through two slices of the CoreSight SoC ATB Syncbridge IP.

See the ARM® AMBA® 3 ATB Protocol Specification for information about the ATB protocol.

Copyright © 2013, 2014 ARM. All rights reserved.ARM DDI 0488D