The SNOOPer sampling rate, set with the command SNOOPer.Rate or from the SNOOPer.state window, is not guaranteed to exactly match the configured value. The actual sampling rate may be lower, depending on the target CPU, the debug access mechanism, and the number and type of objects being sampled.
Individual sampling intervals may also vary because neither the host PC nor the debugger is a real-time system. Operating-system scheduling and other processes can temporarily interrupt the sampling process.
Moreover, monitoring multiple variables can further reduce the effective sampling rate because each variable requires a separate debug access. For example, monitoring three variables requires three variable accesses for one complete sampling round.
If the processor does not support non-intrusive memory reads while the application is running, SNOOPer uses StopAndGo mode. In this mode, the program is stopped at the configured rate so that the debugger can read the variable contents. A single stop operation can take a significant amount of time and may therefore cause the configured sampling rate to be exceeded.
To improve the sampling rate, consider the following:
If supported by the target, enable runtime memory access to avoid StopAndGo mode.
Reduce the number of monitored variables.
Increase the JTAG clock frequency:
SYStem.JtagClockRefer for more information about the SNOOPer to the Application Note for the SNOOPer Trace
Add a comment