ETM
The Embedded Trace Macrocell (ETM) provides comprehensive debug and trace facilities for ARM processors. ETM allows the capture of information for executed processor instructions with no effect on a processor's performance, and it provides a gapless data stream. Depending on implementation, the trace information is either exported immediately after it has been captured via a special trace port, or it is saved to an on-chip trace buffer.
Microcontrollers that include an ETM allow detailed program-execution data to be recorded and saved in real time. This information can be used to analyze program flow and execution time, conduct profiling, and locate software bugs that are otherwise very hard to locate. A typical situation in which code trace is extremely valuable would be an investigation on how and why a "program crash" occurred in the event of a runaway program count.
A debugger provides J-Trace with a user interface as well as stored trace data. The debugger enables all ETM facilities, and it displays the trace information that has been captured.