Skip to main content

IAR Embedded Workbench for Arm 9.70.x

Introduction to analyzing your application’s timeline

In this section:

See also:

Briefly about analyzing the timeline

C-SPY can provide information for various aspects of your application, collected when the application is running. This can help you to analyze the application’s behavior.

You can view the timeline information in different representations:

  • As different graphs that correlate with the running application in relation to a shared time axis.,

  • As detailed logs

  • As summaries of the logs.

Depending on the capabilities of your hardware, the debug probe, and the C-SPY driver you are using, timeline information can be provided for:

Call stack

Can be represented in the Timeline window, as a graph that displays the sequence of function calls and returns collected by the trace system. You get timing information between the function invocations.

Note that there is also a related Call Stack window and a Function Trace window, see Call Stack window and Function Trace window, respectively.

Data logging

Based on data logs collected by the trace system for up to four different variables or address ranges, specified by means of Data Log breakpoints. Choose to display the data logs:

  • In the Timeline window, as a graph of how the values change over time.

  • In the Data Log window and the Data Log Summary window.

Event logging

Based on event logs produced when the execution passes specific positions in your application code. Choose to display the event logs:

  • In the Timeline window, as a graph of the timing of the events.

  • In the Event Log window and the Event Log Summary window.

Event logs can help you to analyze the application flow and inspect data correlated to a certain position in your application code.

Interrupt logging

Based on interrupt logs collected by the trace system. Choose to display the interrupt logs:

  • In the Timeline window, as a graph of the interrupt events during the execution of your application.

  • In the Interrupt Log window and the Interrupt Log Summary window.

Interrupt logging can, for example, help you locate which interrupts you can fine-tune to make your application more efficient.

For more information, see Interrupts.

Power logging

Based on logged power measurement samples generated by the debug probe or associated hardware. Choose to display the power logs:

  • In the Timeline window, as a graph of the power measurement samples.

  • In the Power Log window.

Power logs can be useful for finding peaks in the power consumption and by double-clicking on a value you can see the corresponding source code. The precision depends on the frequency of the samples, but there is a good chance that you find the source code sequence that caused the peak.

For more information, see Power debugging.

State logging

Based on logged activity—state changes—for peripheral units and clocks, as well as for CPU modes generated by the debug probe or associated hardware. Choose to display the state logs:

  • In the Timeline window, as a graph of the state changes.

  • In the State Log window and in the State Log Summary window.

The information is useful for tracing the activity on the target system.

For more information, see Power debugging.

Requirements for timeline support

Depending on the capabilities of the hardware, the debug probe, and the C-SPY driver you are using, timeline information is supported for:

Target system

Call Stack

Data logging

State logging

Event logging

Interrupt logging

Power logging

C-SPY simulator

Yes3

Yes3

Yes3

CMSIS-DAP

Yes2

I-jet

Yes2

Yes

Yes

Yes

Yes

J-Link

Yes2

Yes

Yes

Yes

Yes

J-Trace

Yes

Yes1

Yes1

Yes1

ST-LINK

Yes3

Yes3

Yes3

Yes3

TI MSP-FET

Yes

Yes

TI XDS

Yes

Yes

Yes

Yes

Yes

Table 23. Support for timeline information 


1 Very limited when ETM trace is enabled.

2 Requires ETB/MTB.

3 Not for all cores and devices.

For more information about requirements related to trace data, see Requirements for using trace.