Event Recorder  Version 1.0.0
MDK Debugger Views for Status and Event Information
 All Files Functions Macros Groups Pages
Event Recorder

The software component Event Recorder uses event annotations in the application code or software component libraries to provide event timing and data information while the program is executing. This event information is stored in an Event Buffer on the target system, that is continuously read by the Debug Unit and displayed in the Event Recorder window of the MDK debugger.

EventRecorderOverview.png
Overview of Event Recorder

Benefits of the Event Recorder

  • Visibility to the dynamic execution of application program.
  • Filter capabilities for event types (Errors, API Calls, Operation, Details).
  • Unrestricted calls to event recorder functions from Threads, RTOS kernel, and/or ISR.
  • Event recorder functions do not disable ISR on ARMv7M (Cortex-M3, Cortex-M4, Cortex-M7).
  • Fast time-deterministic execution of event recorder functions with minimal code and timing overhead.
  • No need for a debug or release build as the event annotations can remain in production code.

The following sections describe:

  • Requirements : lists the technical data and explains the hardware and software requirements.
  • Configuration : explains the setup of the Event Recorder and the configuration of a user provided timer.
  • Theory of Operation : describes how the Event Recorder works.

Requirements

MDK Debugger views have the following software and hardware requirements:

Todo:
lists hardware requirements and other technical data.

Technical Data of Event Recorder Firmware

Todo:
Robi update table before final release

Target: Cortex-M3 using DWT Cycle Counter as timer

Parameter ARMCC V5.06 ARMCC V5.06 ARMCC V6.6 ARMCC V6.6
Compiler options -O3 -O3 -Otime -Os -O3
ROM size 1276 bytes 1966 bytes 1422 bytes 2022 bytes
RAM size @8 records (min) 288 bytes 288 bytes 288 bytes 288 bytes
RAM size @64 records (default) 1184 bytes 1184 bytes 1184 bytes 1184 bytes
Stack size ? bytes ? bytes ? bytes ? bytes
EventRecord2 (id+8bytes) 208 cycles 172 cycles 184 cycles 171 cycles
EventRecord4 (id+16bytes) 376 cycles 306 cycles 317 cycles 303 cycles
EventRecordData (id+8bytes) 297 cycles 253 cycles 264 cycles 245 cycles
EventRecordData (id+16bytes) 470 cycles 396 cycles 393 cycles 385 cycles
EventRecordData (id+24bytes) 610 cycles 513 cycles 505 cycles 496 cycles
EventRecordData (id+32bytes) 743 cycles 645 cycles 623 cycles 619 cycles
Note
Timing measured in simulator (zero cycle memory, no interrupts). Function parameter in application is not considered.