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

Is the enclosing element for objects that define the output for Event Recorder.

Parent Element Element Chain
component_viewer /component_viewer
Child Element Description Type Occurrence
event Define an event. EventType 0..*
group Create an event group. GroupType 0..*


<?xml version="1.0" encoding="utf-8"?>
<component_viewer schemaVersion="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="Component_Viewer.xsd">
<component name="MyExample" version="1.0.0"/> <!-- name and version of the component -->
<group name="My Events Group">
<component name="MyApp" brief="My Application" no="0x00" prefix="EvrNetMM_" info="Network - System - Dynamic Memory Management"/>
<event id="1" level="API" property="MyFunction" value="parameter=%x[val1]" info="Event on start of MyFunction" />
<event id="2" level="Error" property="MyFunctionError" info="Event on error in MyFunction" />
<event id="3" level="Op" property="MyFunctionProcess" value="string=%t[val1]" info="Event on operation in MyFunction" />



Define groups of software components that are shown together.

Parent Element Element Chain
events /component_viewer/events
Attributes Description Type Use
name Define the name of a group. This name is used for filtering. xs:string required
Child Element Description Type Occurrence
component Component within the group. ComponentType 0..*



Define software components that are tied to an event number.

Parent Element Element Chain
group /component_viewer/events/group
Attributes Description Type Use
name Descriptive component name. xs:string required
brief Short component name for display purposes. xs:string required
no Event id component number (bits 8..15). See Event Recorder: Theory of operation. xs:string required
prefix Added to hyperlink in context sensitive help system before the <event name>. xs:string required
info Descriptive text shown when hovering over the component brief. xs:string optional
Child Element Description Type Occurrence
state State information for a component ComponentType 0..*


<!-- event groups for Network Component -->
<group name="Network">
<group name="System Events">
<component name="Memory Management" brief="NetMM" no="0x80" prefix="EvrNetMM_" info="Network - System - Dynamic Memory Management"/>
<component name="ETH Interface" brief="NetETH" no="0x81" prefix="EvrNetETH_" info="Network - System - Ethernet Interface"/>
<component name="PPP Interface" brief="NetPPP" no="0x82" prefix="EvrNetPPP_" info="Network - System - Serial PPP Interface"/>
<component name="SLIP Interface" brief="NetSLIP" no="0x83" prefix="EvrNetSLIP_" info="Network - System - Serial SLIP Interface"/>
<component name="Loopback Interface" brief="NetLB" no="0x84" prefix="EvrNetLB_" info="Network - System - Local Loopback Interface"/>
<group name="IPv4 Core Events">
<component name="IP4 Core" brief="NetIP4C" no="0x85" prefix="EvrNetIP4C_" info="Network - IPv4 - Core/localhost"/>
<component name="ICMP Control" brief="NetICMP" no="0x86" prefix="EvrNetICMP_" info="Network - IPv4 - Internet Control Message"/>
<component name="IGMP Management" brief="NetIGMP" no="0x87" prefix="EvrNetIGMP_" info="Network - IPv4 - Internet Group Message (multicast)"/>
<component name="NBNS Client" brief="NetNBNS" no="0x88" prefix="EvrNetNBNS_" info="Network - IPv4 - NetBIOS Name Service Client"/>
<component name="DHCP Client" brief="NetDHCP" no="0x89" prefix="EvrNetDHCP_" info="Network - IPv4 - Dynamic Host Client"/>
<component name="ARP Address Resolution" brief="NetARP" no="0x8A" prefix="EvrNetARP_" info="Network - IPv4 - Ethernet Address Resolution"/>
<group name="IPv6 Core Events">
<component name="IP6 Core" brief="NetIP6C" no="0x8B" prefix="EvrNetIP6C_" info="Network - IPv6 - Core/localhost"/>
<component name="ICMP6 Control" brief="NetICMP6" no="0x8C" prefix="EvrNetICMP6_" info="Network - IPv6 - Internet Control Message"/>
<component name="DHCP6 Client" brief="NetDHCP6" no="0x8D" prefix="EvrNetDHCP6_" info="Network - IPv6 - Dynamic Host Client"/>
<component name="NDP Neighbor Discovery" brief="NetNDP" no="0x8E" prefix="EvrNetNDP_" info="Network - IPv4 - Neighbor Discovery"/>



Define state information for a event group. This state information is used for:

  • graphic display of a time-line (for example in the System Analyzer of uVision).
  • collecting statistical information about a event group.

The state information is referenced by the element event and associated with an handle and a handle name. State information is for example used to display the activity of RTOS threads. But this implementation is generic and allows it to use also for any type of software component.

Parent Element Element Chain
group /component_viewer/component
Attributes Description Type Use
name State name that is displayed and used for reference in event xs:string required
plot Output in graphic time-line display (System Analyzer) with values:
  "off" for empty display [no line or box] (default).
  "line" for display a line.
  "box" for display a box.
xs:string optional
color Color for the line or box in graphic time-line display (System Analyzer) with values: "blue" (default), "red", "green", "black". xs:string optional
unique "1" indicates that only handle from this group can have this state. Event handles that had this state previously are set to state that is marked with dormant="1". (default "0") xs:string optional
dormant "1" indicates the state to fall back from the state that is marked with unique="1". (default "0") xs:string optional


<component name="MyEventComponent1" brief="MyC1" no="0x0B" prefix="EvrMyC1_" info="My Component - Demo example">
<state name="Clear" plot="box" color="red" />
<state name="Create" plot="box" />
<state name="Delete" plot="off" />
<state name="Waiting" plot="box" color="green" />
<state name="Active" plot="box" bold="1" />
<state name="Idle" plot="line" />
<state name="Stalled" plot="line" color="black" />
<component name="MyEventComponent2" brief="MyC2" no="0x0C" prefix="EvrMyC2_" info="My Component - Demo example"/>
<event id="0xB00" level="API" property="Clear" state="Clear" handle="val1" value="h=%x[val1]" info="Event on Clear"/>
<event id="0xB01" level="API" property="Create" state="Create" handle="val1" hname="%N[val2]" tracking="Start" value="h=%x[val1] n=%N[val2]" info="Event on Create"/>
<event id="0xB02" level="API" property="Delete" state="Delete" handle="val1" tracking="Stop" value="h=%x[val1]" info="Event on Delete"/>
<event id="0xB03" level="API" property="Active" state="Active" handle="val1" value="h=%x[val1]" info="Event on Active"/>
<event id="0xB04" level="API" property="Waiting" state="Waiting" handle="val1" value="h=%x[val1]" info="Event on Waiting"/>
<event id="0xB05" level="API" property="Idle" state="Idle" handle="val1" value="h=%x[val1]" info="Event on Idle"/>
<event id="0xB06" level="API" property="Stalled" state="Stalled" handle="val1"



Define an event that can occur for the software component. The attributes property and value can consist of ASCII characters and format specifiers.

Parent Element Element Chain
events /component_viewer/events
Attributes Description Type Use
id 16-bit event id (message and component number) value. See Event Recorder: Theory of operation. xs:anySimpleType required
level Event severance level (OP, API, Error, Detail) used for filtering. See Event Recorder: Theory of operation. xs:anySimpleType required
property Value Output shown in the Event Property column of the Event Recorder window. xs:string required
value Value Output shown in the Value column of the Event Recorder window. xs:anySimpleType optional
info Descriptive text with additional information (comment). xs:string optional
doc Explicit link to documentation. xs:string optional
handle Specifies the value that identifies the object handle and is used to associated the state information. This refers for example a RTOS thread or IP socket. xs:string optional
hname Specifies a human readable name that represents the handle. This could be a thread name or a file name. A name can referenced in two different ways:
  hname="N[val]" val is the pointer value that addresses a const string in the address space of the target.
  hname="S[val]" val is the address of a symbol name (for example a function) in a loaded ELF image.
xs:string optional
state Reference to a state name in the element state. When state is specified, a handle value is required. xs:string optional
tracking Specifies the tracking for an event handle wiht the values:
  tracking="Start"; start the state tracking for an event handle.
  tracking="Stop"; stop the state tracking for an event handle.
  tracking="Reset"; initialize the tracking for all event handles of that component to "Stop".
xs:string optional


<event id="0xA00" level="API" property="InitEntry" info="Event on MyComp_initialize start"/>
<event id="0xA01" level="API" property="InitStatus" info="Event on MyComp_initialize return"/>
<event id="0xA0A" level="Error" property="SendNoData" info="Event on MyComp_initialize return"/>
<event id="0xA0B" level="Op" property="SendComplete" value="size=%d[val1]" info="Event on MyComp_send - completed"/>
<event id="0xA0C" level="Error" property="SendFailed" value="" info="Event on MyComp_send - send failed"/>
<event id="0xA15" level="Error" property="ReceiveNoData" value="" info="Event on MyComp_receive - no data received"/>
<event id="0xA16" level="Op" property="ReceiveComplete" value="size=%d[val1]" info="Event on MyComp_receive - completed"/>
<event id="0xA17" level="Error" property="ReceiveFailed" value="" info="Event on MyComp_receive - receive failed"/>