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. ETB was defined for this purpose and is available on the Arm derivatives.
The Embedded Trace Buffer (ETB) extends the ETM unit of Arm derivatives by an embedded on-chip circular trace buffer. This simplifies the adaptation of external trace units because the high speed trace signaling does not need to transfer to the external unit. The trace buffer is managed and read via the JTAG communication channel.
By compiling the trace data 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 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. The Arm ETB is an internal implementation of a full ETM trace system.
The Universal Debug Engine supports ETM as well as the external trace mechanism. There is no additional hardware required.