Annotate and the Log View
ARM DUI 0482K
Copyright © 2010-2012 ARM. All rights reserved.
10-2
ID120712
Non-Confidential
10.1
Customize reports using Annotate
While ARM Streamline provides a large variety of target information, sometimes you require
extra context to decipher exactly what the target is doing at certain instances. Streamline
Annotate provides a facility for you to add this context to Streamline.
The Streamline Annotate feature works in a similar way to
printf
, but instead of console output,
annotate statements populate the Log view and place framing overlays right in the Streamline
Timeline view:
Figure 10-1 Annotate overlays
When the user space application writes to the
/dev/gator/annotate
file, the gator driver marks
the recorded annotate-driven output with a timestamp and integrates the recorded data into the
Streamline sample and trace capture report.
The annotated text is marked with a thread identifier that keeps the data uncluttered and
eliminates the necessity of user mutexes. Writing to the annotate file is handled by the standard
C-library functions.
The application code accesses the virtual annotate file using the standard c-library functions:
fopen
,
fwrite
, and
fprintf
. To start using the annotate feature, do the following:
1.
Ensure
gatord
is running.
gatord
creates the
/dev/gator/annotate
file.
2.
Include the
streamline_annotate.h
header file by adding the following include statement
to your code:
#include "streamline_annotate.h"
3.
Add the
ANNOTATE_SETUP
macro to your code. It must be called before any other annotate
macros are called.
4.
Add one
ANNOTATE_DEFINE
macro to your code.
5.
Write null-terminated strings to the file from any thread using the
ANNOTATE
macro:
ANNOTATE(string)
6.
Optionally set the color of the annotation using the
ANNOTATE_COLOR
macro and by either
choosing a color constant from those defined in
streamline_annotate.h
or by sending the
ASCII escape code followed by a 3-byte RGB value:
ANNOTATE_COLOR(color, string)
7.
Write an empty string to clear the annotation message for the thread