Meaning
Debugging technique that provides a non-intrusive view of the internal operations of a processor during runtime. A JTAG execution trace allows developers to observe the flow of instructions without stopping the execution of the software. The data is useful for identifying intermittent bugs and timing issues in complex embedded systems.
Hardware Insight
Hardware logic inside the chip monitors the program counter and exports the information through a dedicated set of pins. The JTAG execution trace requires a compatible debug probe to collect and reconstruct the instruction stream. High speed buffers ensure that no data is lost when the processor runs at full speed.
Analysis Depth
Optimization of the software path becomes possible by reviewing the frequency and sequence of function calls. A JTAG execution trace helps locate dead code or inefficient loops that consume excessive processor cycles. It provides a definitive record of the events leading up to a system failure or a watchdog reset.
Bandwidth Requirement
Transmission of real-time instruction data generates a substantial amount of traffic on the debug interface. Because the JTAG execution trace can saturate the physical pins, some systems use compression or filtering to reduce the volume of data. Modern processors often include dedicated trace ports to handle these large bandwidth requirements.