FIFOFULL
A FIFOFULL happens when the trace sources are producing more information than the trace infrastructure of the chip could handle. As a consequence, trace packets are lost.
You can search for FIFOFULLs in the trace recording using the following command:
Trace.Find FIFOFULL /ALLThere are two solutions to avoid FIFOFULLs
1. The trace infrastructure needs to run faster to increase the bandwidth. Check that the trace clock is running at the fastest supported rate and use the maximum port speed and width.
2. The trace sources need to send less trace information.
Disable all trace sources that are not required for the use case e.g. data trace or internal timing information.
Selective program and/or data trace by using filters (TraceEnable, TraceData, TraceON, TraceOFF). Refer for more information to the description of the command
Break.Setin the General Commands Reference Guide B.Some processor architectures allow stalling the CPU or suppress the output of the data flow information if a FIFO overflow is likely to happen.
HARDERROR
HARDERRORs means that the trace data is not valid. Possible reasons are:
Trace port multiplexed with other IO functions (no valid trace data)
Trace signal capturing failed (setup/hold time violations)
Wrong version of PowerTrace module
Target frequency too high
FLOWERROR
FLOWERRORs means that the traced data is not consistent with the code in the target memories. Possible reasons are:
Wrong trace data (as result of HARDERRORs)
Missing task switches in the trace in case of OS trace
Memory contents have changed (e.g. self modifying code)
You can search for FLOWERRORs in the trace recording using the following command:
Trace.Find FLOWERROR /ALLDocumentation
Refer for more information to the following documents:
Add a comment