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 Recorder Window

The Event Recorder window in the µVision debugger lists the events captured by the Event Recorder component and provides control options to browse through the event records, to enable and disable the recording, to store the events and configure the event filter.

The Event Recorder window can be open in a debug session from menu View - Analysis Windows - Event Recorder . The figure below gives an example view:

Event Recorder Window


Event Record number that starts counting from 0 whenever the Event Recorder buffer is reset.
Time(sec) Is the time stamp of the event and depends on the Time Stamp Source selected in the file EventRecorderConf.h.
Component Identifies the software component that triggered the event. Hover the mouse over the field for details.
Event Property Shows the event function. Click on the link to jump to the documentation. Hover the mouse over the field for details.
Value Shows the event function parameters. Hover the mouse over the field for details.


Event Recorder Toolbar


Enable Recorder You can enable or disable the recorder while debugging.
  • when disabled - reading events from the target system. The Event Recorder software component further collects the data and saves it on the buffer in the target system, however the debug does no longer read this buffer.
  • when enabled - read events from the event buffer in the target system and display collected event data in the window.
Filter Event Records Button
Clear the Event Recorder window and buffer. Event record numbers are reset to 0. Halt debugging to enable the button.
Filter Event Records Button
Save the Event Recorder buffer to a comma-separated (*.csv) file. You can analyze the data later. Halt debugging to enable the button. You may use the Event Recorder debug commands to continuously output the events.
Configure Recording
Filter Event Records Button
Configure the Event filter. Opens a dialog to enable the events that should be recorded. These settings are stored in the target. Halt debugging to enable the button.
Mark: Enter a search criteria to highlight (yellow background) the records that match the string. You can use the *-wildcard as a placeholder. Halt debugging to enable the button.
Select Level Select the level of details and highlight (yellow background) matching records. Halt debugging to enable the button.
  • All Operations - no record is highlighted (default).
  • API Calls - highlight all records that get triggered by the API interface.
  • Errors - highlight all records that get triggered by an error.
  • Details - highlight all records that include detailed information.
Messages Messages inform about the status of the Event Recorder:
  • Recording - Events are being collected. In case of errors, shows the number of missed events and the percentage with regards to the total number of events.
  • Stopped - Debugging session halted, or Enable Recorder is unchecked. In case of errors shows the number of missed events and the percentage with regards to the total number of events.
  • Disabled - Event Recorder is not built-in into the target application, or no debug info loaded from an AXF providing the Event Recorder related symbols, or target debug driver DLL does not allow memory reads while the CPU is running.
  • Not Initialized! - Initialize the Event Recorder in the application code. Refer to Setup Event Recorder.
  • Stopped - Missed xxx Records (xx.xx%) - Data is missing in the view because of overflows. Solve according to the corresponding Overflow message.
  • Configuration error! - Adjust your settings in the file EventRecordConf.h. Try to reduce the Event Eecorder buffer size, defined with EVENT_RECORD_COUNT. Refer to Setup Event Recorder.
  • Might display other errors that prevent data from being captured.

When missed events are reported, the recording is incomplete. The following steps may help to resolve it:

  • Disable View – Periodic Window update or close some debug windows with live updates.
  • Increase the "Number of Records" in the EventRecorderConf.h configuration file.
  • Use Event Filters to reduce the number of recorded events.

Record Coloring

To simplify navigation, the Event Recorder window highlights the records with different colors as described below.

Event Recorder Window Coloring

Background colors mark the following events (multiple meanings are possible):

  • Red - Overflow. Highlights the first record after overflow. Hover over to see a more details description of the problem. If you see "Target Overflow" and "Missed Event", try to reduce the frequency of buffer writes (for example by adding delay between consecutive writes) or increase the buffer size. If you see "Host Buffer Overflow", reduce the frequency of buffer writes. An increased buffer size will not help here.
  • Red - Calculation Error. Highlights the first record after a calculation error in the event description.
  • Orange - Initialization event.
  • Orange - Delayed event.
  • Green - First event after Enable Recorder checkbox enabled.
  • Green - Timestamp reference point. Right-click the mouse on a record to set or clear a time reference point. Hover the mouse over another time field to get time deltas regarding the time reference point.
  • Event Incomplete... - Incomplete event detected
  • Blue - Currently selected record.
  • Yellow - Records that match the search criteria in the Mark: box.

Character colors emphasize the following:

  • Red - Error events.
  • Blue - API function call events.
  • Black - Operation events.
  • Dark Gray - Detailed operation events.
  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.