Hard real-time debugging requires close interaction with the processor. Tracing shall provide a chronological picture of a system inner working up to, starting from or in the vicinity an event, mainly to guide a human in understanding a faulty program. ETM was defined for this purpose and is available on the Arm and Cortex derivatives.
By compiling the trace data by the Universal Debug Engine directly via the trace hardware this sample rate complies with a multitude of machine code instructions. Recording is synchronous to the system clock frequency. This ensures the optimal use of the trace memory and allows application specific time stamps. Start and stop of recording is comfortably controlled via triggers. The total performance of the ETM unit is available for trigger events. The comfortable trace window included in the user interface offers a direct link to the user from trace samples to the related source code, monitoring the runtime of the program based on the time stamps and comprehensive search functions.