13.3 ETM functional description
Describes the functional blocks of the ETM.
The following figure shows the
main functional blocks of the ETM.
Figure 13-1 ETM functional blocks
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