Beruflich Dokumente
Kultur Dokumente
6.1
Introduction
Configuring WindView
Events
6-1
What is WindView?
6-2
Host/Target Architecture
Host
Target
VxWorks
and
Application
File
Events
WindView
Graph
evtRecv
evtRecv
tWvUpload
tWvUpload
Event
Buffer
tWvRBufMgr
tWvRBufMgr
6-3
Configuring WindView
6-4
6-5
6-6
WindView 2.0
Introduction
6.2
Configuring WindView
Events
6-7
6-8
6-9
6-10
6-11
Upload Mode
Deferred upload:
Data are uploaded on request after logging stopped
Logging also stops if event buffer becomes full.
Continuous upload:
Data are uploaded periodically as logging continues.
Ring buffer grows during times of greater event production,
shrinks once data are uploaded.
Logging stops if event buffer becomes full.
6-12
6-13
Several methods:
and
Triggering facility.
Programmatic control from target.
6-14
Triggering
6-15
6-16
WindView 2.0
Introduction
Configuring WindView
6.3
Events
6-17
What is an Event?
...an event is any action undertaken by a task or an ISR that can
affect the state of the real-time system.
System library instrumentation points.
User events.
Examples:
Task state change.
semGive & semTake.
msgQSend and msgQReceive.
Timer expiration.
Anything you define as an event.
6-18
User-Defined Events
STATUS wvEvent (eventNo, buffer, bufsize)
eventNo
buffer
bufSize
6-19
User Eventpoints
STATUS e (addr, eventNo, taskNameOrId, evtRtn,
arg)
Where:
addr
address to set eventpoint.
eventNo an event number for display.
taskNameOrId the task ID of the task in which to
raise the eventpoint, 0 = all tasks.
evtRtn function to call when event point is
hit. Event is logged if evtRtns
return value is zero.
arg
an integer argument to pass to
evtRtn above.
6-20
WindView Example
Initialization:
Create message queue;
Spawn consumer task;
Spawn producer task;
Producer Task:
Consumer Task:
FOREVER
{ {
Allocate block;
(pointer to block)
Initialize data in
block;
Process data in
Send pointer to
block across
message queue;
FOREVER
6-21
6-22
Zooming In
6-23
6-24
There are three means for filtering the data to reduce the
amount of information shown.
The task pop-up menu can be used to hide any task. Right-click on
task name on left side of graph for a context menu. To act on
multiple tasks, select Attributes....
Non-executing task states may be hidden by pressing the
appropriate button on the tool bar.
Specific events and states may be filtered out using the Filter
Events/States dialog.
6-25
6-26
6-27
6-28
Event data are available via TCL or C++ API for further
analysis (the event-base API).
6-29