
ST20–SWC
15/21
execution against time using X Window System and OSF/Motif on a Sun-4 or Microsoft Windows on
a PC.
As with the execution profiler, the user program is monitored by a profiling kernel. The kernel will slow
the program by less than 5%.
ST20
Quit
Zoom In
Zoom Out
0.000
3.840
7.680
11.520
15.360
19.200
23.040
26.880
30.720
34.560
Figure 11
Example X-Windows display from the utilization monitor
4.3
Test coverage and block profiling tool
This tool monitors test coverage and performs block profiling for an application which has been run
on target hardware.
This tool is able to:
provide an overall test coverage report;
provide per module test coverage reports;
accumulate a single report from multiple test runs;
provide a detailed basic block profiling output by creating an annotated program listing;
provide output that can be fed back into the compiler as a part of its optimization process.
The application program (compiled with the appropriate compiler option) is run and accumulates the
counts in the memory of the target processor. The tool is used to extract the results and save,
accumulate or display them. This application writes the counts into the code area, so the tool cannot
be used with code running from ROM.
Writing coverage file ”square.v” – 40% coverage
Writing coverage file ”comms.v” – 14% coverage
Writing coverage file ”app.v” – 75% coverage
Writing coverage file ”control.v” – 36% coverage
Writing coverage file ”feed.v” – 33% coverage
Writing coverage file ”sum.v” – 40% coverage
Total coverage for bootable 39% over 1 run
Figure 12
Example test coverage summary report
The following is an example of the contents of a coverage file:
|/*
| * facs.c
| *
| * generate factorials
| *
| */
|
|#include <stdio.h>
|#include <stdlib.h>
|#include <process.h>
|#include <channel.h>
|#include <misc.h>
|#include ”comms.h”
|
|#define TRUE 1
|#define FALSE 0
|
|