How to use the xSCOPE start/stop event type

  • version

    1.1.1

  • scope

    Example.

    This code is provided as example code for a user to base their code on.

  • description

    How to use the xSCOPE start/stop event type

  • boards

    Unless otherwise specified, this example runs on the SliceKIT Core Board, but can easily be run on any XMOS device by using a different XN file.

xSCOPE is fully supported on hardware platforms which provide an XMOS link between the target device and the XSYS development connector, it is also supported via xSIM.

View the document (xSCOPE overview) for further information on tracing data from XMOS applications.

This example provides a simple demonstration of using the xSCOPE start/stop event type for data logging from within an xCORE application. The start/stop event type is used for recording the time taken for between two points in an application. This allows a user to see how long the device has spent in specific code sections for performance analysis and debugging

The probe configuration is handled by the user providing a config.xscope file which is picked up as part of the application build.

This example assumes you are familiar with creating a run configuration and enabling the associated xSCOPE options in that run configuration in xTIMEcomposer Studio or using the command line tools.

In order to used xSCOPE the correct header file must be included in the application

#include <xscope.h>

Within a function make a call to xscope_start() / xscope_stop() for a specified probe to signal a toggle in state from start to stop. This allows the time period between these points to be measured.

void function_1(void)
{
  xscope_start(FUNCTION_1);
  wait(150000);
  xscope_stop(FUNCTION_1);
}