Keil Logo

Technical Support

On-Line Manuals

µVision User's Guide

About µVision User Interface Creating Applications Debugging Using the Debugger Simulation Start Debugging Start Energy Measurement without Debug Application Program Execution Debug Windows and Dialogs Breakpoints Window Call Stack and Locals Window Code Coverage Command Window Component Viewer Disassembly Window Event Recorder Setup Event Recorder Event Recorder Window Events Filtering Event Statistics Window Event Viewer Execution Profiler Instruction Trace Window System Analyzer Restrictions Logic Analyzer Setup Setup in Detail Restrictions Cortex-M Trace Configuration Memory Map Memory Window Performance Analyzer Registers Window Serial Window Debug (printf) Viewer Symbols Window System Viewer Adding System Viewer Windows System and Thread Viewer Thread States Toolbox Trace Data Window Trace Navigation Trace Exceptions Event Counters ULINKplus Window Watch Window Core Peripherals Cortex-M0 and Cortex-M0+ Nested Vector Interrupt Controller System Control and Configuration System Tick Timer Fault Reports (Cortex-M0+ only) Cortex-M3, Cortex-M4, and Cortex-M7 Nested Vector Interrupt Controller System Control and Configuration System Tick Timer Fault Reports Memory Protection Unit Cortex-M23 and Cortex-M33 Nested Vector Interrupt Controller System Control and Configuration System Tick Timer Fault Reports Memory Protection Unit Security Attribution Unit Expressions Constants System Variables Peripheral Variables I/O Ports Serial Ports Program Variables (Symbols) Fully Qualified Symbols Non-Qualified Symbols Literal Symbols Using Symbols Line Numbers Bit Addresses Type Specifications Operators Differences between µVision and C Expression Examples Code and Data Trace (Cortex-M) Trace Features Tracepoint Expressions Tracepoint Intrinsics Tracepoint Limitations Configuring the Trace Hardware Tracepoint Marks Tips and Tricks Review Peripherals and CPU Configuration Simulate I/O Ports Simulate Interrupts and Clock Inputs Simulate external I/O Devices Assign Serial I/O to a PC COM Port Check Illegal Memory Access Command Input from File Preset I/O Ports or Memory Contents Write Debug Output to a File Keyboard Shortcuts TPIU Initialization after RESET (Cortex-M) Prevent Opening Files Show Japanese Messages Code Coverage Export MTB Trace Import for Code Coverage Debug Commands Debug Functions Simulation Flash Programming Dialogs Utilities Command Line Example Programs Appendix

System Analyzer

The System Analyzer is a graphical analysis tool that shows:

  • power measurement data from ULINKplus.
  • thread, interrupt, and exception execution over time.
  • Event Recorder messages.
  • value changes of variables or VTREGs.

System Analyzer can be used with any Arm Cortex-M based device that provides trace.

Logic Analyzer ButtonOpen the System Analyzer from the toolbar or via the menu View - Analysis Windows - System Analyzer.

System Analyzer Window

System Analyzer window display

Toolbar buttons

The System Analyzer contains a number of buttons to change the way the data is displayed.

Function Button Description
Zoom In Zoom In Button Zooms into the signals to get a detailed view of the captured data. The time interval between two grid lines gets smaller.
Zoom To Fit Zoom to Fit Button Zooms in or out to display the entire captured signal buffer.
Zoom Out Zoom Out Button Zooms out to see more of the surrounding captured data. The time interval between two grid lines gets larger.
Freeze Data Lock Button Suspends capture of data when in the locked mode.
Go To Marker Zoom Out Button Centers the data at the marker on the display.
Jump to Prev Transition Jump to Previous Button Moves the marker one transition period to the left.
Jump to Next Transition Jump to Next Button Moves the marker to the next transition period to the right.
Show Marker Show Marker Button Turns on and off the green marker line. Clicking anywhere on a data row also turns on the marker line.
Show Cursor Show Cursor Button Turns on and off the red cursor line.
Show Cursor Plate Show Cursor Plate Button Turns on and off the additional elements shown next to the cursor lines.
Show Y Axis Show Y Axis Button Displays vertical and horizontal lines for the marker and cursor lines.
Snap on Transitions Snap on Transitions Button Forces both cursor lines to the nearest level change.
Min/Max Auto Min/Max Auto Button Sets the signal range for the selected signal based on all the highest and lowest values recorded.
Min/Max Auto (Visible Area) Min/Max Auto (Visible Area) Button Sets the signal range for the selected signal based only on the highest and lowest values displayed.
Min/Max Adaptive Min/Max Adaptive Button Dynamically sets the signal range for the selected signal based on the highest and lowest current and incoming data values.
Show Delta Values show Delta Values Button Sets the reference value to the minimum range shown in the sidebar. All displayed values are calculated from that offset.
Jump to End Jump to End Button Displays the most recently recorded data.

Elements of the display

The following elements are present in the System Analyzer window:

  • The “d:” on the red cursor displays the difference to the green marker (if set):
    Value delta
  • X’es mean that there is no data available (in the past)
    No data
  • “Grid” in the lower left corner displays the time between two grid lines:

Display sections

In the System Analyzer window you will find different sections that show power measurement values, events, interrupts, and variable changes.

Section Description
System Displays the measured core clock frequency.
Consumption Displays the voltage and current readings.
Data Watch Signals in this section are configurable and show variables and VTREGs specified by the user. To add a user variable to this section, right-click the variable name in a debug session and select Add 'variable_name' to... - Logic Analyzer. Variables and VTREGs specified by the user are subject to restrictions. As a consequence, not every variable can be shown.
Threads Shows real-time operating system threads.
Exceptions Displays incoming interrupts, such as the SysTick interrupt, and executed exceptions.
Event Recorder Displays the various incoming events.

Usage tips

Change the signal scale manually

To manually change the signal scale in System Analyzer, follow these steps:

Double click on the minimum or maximum scale text Double-click
Enter the new value Enter value
ESC key will cancel  
For power measurement, valid characters are (next to the numbers): m, µ, u, n and the unit (V, A) Enter with unit

Working with power consumption data

Selectable from the context menu, the power data can be filtered. Select 160 kHz filtering to have a great view on all spikes and their height or “special” noise, such as overshoots:

160 kHz Filter

Select 5 kHz to have a great view of what’s hidden in the noise, for example current drain of the target's internal pull-up resistors:

5 kHz Filter

You can calibrate the power measurement offset introduced by ULINKplus by using the Zero Point Adjustment in the context menu:

Zero Point Adjustment

This will compensate for the offset and show 0 mA at the current position. You can also remove this adjustment at a later point in time, if required.

Working with signals

Running through the power measurement results, use the following hints to create a convenient signal display:

  • To change the height of a signal, drag the lower limit of the signal; the cursor will change:
    Drag and zoom vertical
  • To change the sidebar’s width, drag the right limit; the cursor will change:
    Drag and zoom horizontal
  • Select a signal by left-clicking on it. Alternatively, navigate with the cursor keys up/down:
    Select signal
  • Left/right cursor keys are used to navigate over the selected signal’s transitions.
  • Holding the SHIFT key down snaps cursors on transition for the underlying signal.
  • A signal (or a group) can be moved inside it’s group when pressing and holding the left mouse button in the sidebar, then move the signal:
    Move signal
  • To make a signal sticky, left-click on it at the beginning of the signal name:
    Stick signal
    An icon will appear in front of the signal’s name:
    Sticky signal
  • When clicking the group expand icon, it will have three stages:
    expanded: Expanded group
    sticky only: Sticky group
    collapsed: Collapsed group


You can zoom in or out of signals using the mouse wheel or the zoom buttons:

  • Mouse wheel zoom happens on mouse position.
  • Button zoom happens on green marker line (if visible), or on the center of the screen

Context menu

Right-click on any signal to reach the context menu.
Sticky signal
It gives you the following options:

  • Steps/States/Discrete changes the display mode of the signal
  • Hexadecimal Values will show all values (for the selected signal) as hex
  • Setup Min/Max from Recording will automatically determine the value range of the signal from the recorded data
  • Restore previous Min/Max will restore all range changes as they happened (a list of all changes is kept)
  • Remove Signal 'XYZ' will delete the signal from the System Analyzer window


  • While the target is running, a fast approximation algorithm is used to calculate the displayed power data. When pressing stop (or freeze), a high precision algorithm calculates the data. This may result in a slight change of the displayed signal.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.