Keil Logo

Technical Support

On-Line Manuals

µVision User's Guide

About µVision User Interface Creating Applications Debugging 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 Editor Window Event Recorder Setup Event Recorder Event Recorder Window Events Filtering Event Statistics Window Post-mortem Analysis Event Viewer Execution Profiler Instruction Trace Window System Analyzer Usage tips Save System Analyzer Contents Statistics 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/M33/M35P and Cortex-M55 Nested Vector Interrupt Controller System Control and Configuration System Tick Timer Fault Reports Memory Protection Unit Security Attribution Unit M-Profile Vector Extension (MVE) Debug Scripting 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 Memory Attribution Specifiers Operators Differences between µVision and C Expression Examples Code and Data Trace (Cortex-M) Trace Features Configuring Trace Tracepoint Expressions Tracepoint Intrinsics Tracepoint Limitations 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 Debug Commands Debug Functions Simulation Flash Programming Dialogs Utilities Command Line Example Programs Appendix

Event Viewer

The Event Viewer displays thread and exception execution over time. To display the timing information it uses trace information generated by Cortex-M3, M4, M7, M23, and M33 devices and requires a suitable debug adapter.


  • Event Viewer does not support Keil RTX 5. Please refer to System Analyzer for a corresponding functionality.

Prerequisites for using the Event Viewer

In order to view the thread execution over time, configure the target as described in:

Using the Trace Configuration dialog of these adapters you should configure the following:

  • Enable Timestamps to obtain timing information.
  • To display thread switches, enable ITM Stimulus Port 31.

ULINKpro and ULINKplus allow you to display interrupts and exceptions. In this dialog, enable Trace Events - EXCTRC: Exception Tracing to see the exception execution over time.


ULINK2 and J-Link do not offer exception tracing due to limited SWO trace bandwidth.

Using Event Viewer

Open the window with Debug - OS Support - Event Viewer.

Event Viewer Window


  • Thread and exception names (with IDs) are displayed on the left side of the window. Threads have alternating gray, and exceptions have alternating blue colors. The highlighted entry is enabled for navigation with keyboard keys. Selecting All Threads allows you to navigate through all threads and exceptions.
  • The time range is displayed on the bottom border of the window.

Load... imports the thread- and exception-switching history previously saved in a file (*.UVTSK). Data can be analyzed off-line.

Save... stores the thread- and exception-switching history in a file (*.UVTSK) for future analysis.

 ?  opens this help.

Time fields show:

  • Min Time is the first timestamp of the recording buffer. The time starts at zero and keeps rolling forward while µVision records the threads.
  • Max Time is the last timestamp of the recording buffer. It shows the time past since signal recording started.
  • Grid is the time interval between two grid lines.

Zoom buttons change the time scale:

  • In zooms into the threads to get a detailed view at the Reference Line. The time interval between two grid lines gets smaller.
  • Out zooms out of the signals for a better overview at the Reference Line. The time interval between two grid lines gets larger.
  • All shows the complete content of the recording buffer.

Update Screen buttons control the screen output.

  • Stop freezes the data of the graphical display. µVision continues filling the recording buffer. When clicked, the button changes its boilerplate text to Start.
  • Start unfreezes the graphical display. The data of the recording buffer and the incoming data are shown. When clicked, the button changes its boilerplate text to Stop.
  • Clear empties the recording buffer and clears the Event Viewer display area.

Jump to buttons synchronize the event with:

  • Code opens the disassembly or source code window at the code line where the thread starts.
  • Trace opens the windows Trace Data and the Trace Navigation. Data get synchronized between the windows.

Transition buttons snap the Reference Line to the next transition point. Highlight a thread name and click:

  • Prev to move the Reference Line to the previous transition point, or press the Left-Arrow key.
  • Next to move the Reference Line to the succeeding transition point, or press the Right-Arrow key.


  • Cursor enables a Mouse Cursor Line, which moves with the mouse. Mouse position data and deltas to the Reference Line are displayed on the timestamp axis.
  • Show Cycles enables cycle information, which are displayed on the timestamp axis.
  • Timing Info enables event details while hovering the mouse over an event transition.

    Tooltip Event Viewer

    The tooltip shows timing information based on the slice you have selected. At the top, it shows the name and ID of the thread or exception. Thread information is extended with the start address.

    Current Slice shows the slice number, based on the event count and on the beginning of the viewable buffer. No. 44 in the picture is the 44th slice of the thread phaseA relative to the start of the viewable buffer. The first viewable slice has always the number one. The slice starts at Begin seconds, lasts until End seconds, and has the Duration of micro seconds. This line is not displayed when hovered over a free space.

    All Slices shows the total amount of viewable time slices. The slices have a minimum duration of Min, maximum duration of Max, and an average duration of Average.

    Cursors information are shown for the mouse and Reference Line. When the Reference Line has been set, the tooltip shows the time difference between the Reference Line position and mouse position in seconds and frequency (Hz).

All Threads graph

The All Threads graph shows event-switching occurrences with a blue X.

Blue opening brackets < (left red circle in the picture) indicate event-switching occurrences that cannot be resolved on the graphical scale. You can zoom-in at those points to view detailed event switches.

The red opening bracket < (right red circle in the picture) indicates event-switching occurrences that cannot be resolved on the graphical and time scale. Zooming in at those points will not deliver details on the time scale. The events are shown as if occurred at the same time. This is due to lack of timing information. Select a smaller number for Timestamps Prescaler in Options for Target - Debug - Settings - Trace.

Additional mouse and key commands

  • One mouse click into the display area sets the Reference Line.
  • A double-click into the display area switches off the Reference Line.
  • The mouse wheel zooms in and out at mouse position.
  • Shift+mouse move snaps the Mouse Cursor Line to the next or previous transition point of the thread to which the mouse is pointing. The transition point has to be visible in the window.
  • Press the Up- and Down-Arrow keys to highlight the next thread.
  • A double-click on a thread or interrupt name changes the graphic shape.
  • HOME jumps to the start of recording.
  • END jumps to the end of recording and locks Scrollbar (newest records always shown).
  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.