The APU MPCore embedded trace macrocell (ETM) is a module that performs real-time instruction flow tracing for the APU MPCore, based on the program flow trace (PFT) architecture. The APU MPCore ETM generates information used by the trace tools to reconstruct the execution of all or part of a program. The PFT architecture assumes that the trace tools can access a copy of the application code being traced. For this reason, the ETM generates traces only at certain points in program execution, called waypoints. This reduces the amount of trace data generated by the ETM. Waypoints are changes in the program flow or events, such as an exception. The trace tools use waypoints to follow the flow of program execution.
The APU MPCore ETMs can trace the following.
•Indirect branches, with target address and condition code.
•Direct branches with only the condition code.
•Instruction barrier instructions.
•Exceptions, with an indication of where the exception occurred.
•Changes in processor instruction set state.
•Changes in the processor security state.
•Context-ID changes.
•Entry to and return from debug state when halting debug mode is enabled.
•Cycle count between traced waypoints.
•Global system timestamps (binary value of timestamp).
•Target addresses for taken direct branches.