ARM® DS-5 Using ARM Streamline

Version 5.20

Table of Contents

About this book
Using this book
Typographic conventions
Other information
1 Target Setup
1.1 Features of Streamline Ultimate, Professional, and Community Editions
1.2 Standards compliance in Streamline
1.3 Streamline prerequisites
1.4 Preparing and building your Linux kernel
1.5 Required kernel configuration menu options
1.6 Building the gator daemon
1.7 Building the gator module
1.8 Running the gator daemon on your target
1.9 Connecting to an Android target using Ethernet
1.10 Starting a capture session
1.11 Stopping the gator daemon
1.12 gatord command-line options
1.13 Setting up Streamline to support an ARM® Mali™-based device
1.14 Setting up Streamline to support ARM® Mali™-V500
1.15 Connecting to a Cortex®-M device using DSTREAM
1.16 Recommended compiler options
2 The Streamline Data View
2.1 Opening the Streamline Data view
2.2 Streamline Data view toolbar options
2.3 Capture color-coding
2.4 The Connection Browser dialog box
2.5 Analysis Data Locations dialog box options
2.6 Duplicating a capture
3 Capture and Analysis Options
3.1 Opening the Capture & Analysis Options dialog box
3.2 Capture & Analysis Options dialog box settings
4 Counter Configuration
4.1 Counter Configuration dialog box structure
4.2 Opening the Counter Configuration dialog box
4.3 Adding new events to the Events to Collect list
4.4 Removing events from the Events to Collect list
4.5 Counter Configuration toolbar options
4.6 Events specific to ARM® Mali™ technology
4.7 Events-based sampling
4.8 Setting up events-based sampling
5 The Live View
5.1 Live view overview
5.2 Live view toolbar options
6 The Timeline View
6.1 Timeline view overview
6.2 The Cross Section Marker
6.3 Timeline view charts
6.4 Timeline view details panel overview
6.5 Heat Map mode
6.6 Core Map and Cluster Map modes
6.7 Processes mode
6.8 Exceptions mode
6.9 OpenCL mode
6.10 Timeline view toolbar
6.11 Timeline view contextual menu options
6.12 Timeline view keyboard shortcuts
6.13 The Timeline view Samples HUD
6.14 Filtering using the caliper controls
6.15 Adding bookmarks to the Timeline view
6.16 Timeline view charts specific to ARM® Mali™-based targets
6.17 The Warnings tag
6.18 Changing the quality of graphics in the Timeline view
6.19 Timeline view chart configuration
6.20 Chart configuration toolbar options
6.21 Chart configuration series options
6.22 Snippet menu
6.23 Adding an existing chart using the Snippets menu
6.24 Adding a new chart to the Timeline view using the Snippets menu
6.25 Snippet menu contextual menu options
6.26 Snippet menu buttons
6.27 Visual Annotation in the Timeline view
7 The Table Views: Call Paths and Functions
7.1 Table view toolbar options
7.2 Table view contextual menu options
7.3 Table view keyboard shortcuts
7.4 Sorting table reports
7.5 Call Paths view column headers
7.6 Functions view column headers
8 The Code View
8.1 Code view basics
8.2 Selecting rows in the Code view
8.3 Path prefix substitution in the Code view
8.4 Using the find command in the Code view
8.5 Code view toolbar options
8.6 Code view keyboard shortcuts
9 Streamline Annotate
9.1 Annotate overview
9.2 Adding Streamline Annotate to your code
9.3 Visual Annotate overview
9.4 Adding Visual Annotate to your code
9.5 Kernel annotation
9.6 Annotate macros
9.7 Importing the Streamline_annotate example
10 The Log View
10.1 Log view column headers
10.2 Log view search fields
10.3 Log view contextual menu options
10.4 Log view totals panel
11 Capturing Energy Data
11.1 Energy Probe overview
11.2 Energy Probe requirements
11.3 Shunt resistor selection for Energy Probe
11.4 Setting up Energy Probe
11.5 Adding the caiman application to Streamline
11.6 Updating your firmware
11.7 Energy Probe data in Streamline
11.8 Applying manual offsets to align energy data
11.9 Setting up National Instrument Multifunction Data Acquisition devices (NI-DAQ) to capture energy data
12 Advanced Customizations
12.1 Capturing data on your target
12.2 Capturing energy data locally and importing it to a capture
12.3 Using the gator_events_mmapped.c custom counters example
12.4 Creating custom performance counters with kernel space gator
12.5 gator_events functions
12.6 Creating filesystem and ftrace counters
12.7 Attributes for custom, filesystem, and ftrace counters in the events XML file
12.8 Getting L2C-310 memory-mapped peripherals working with Streamline
12.9 Profiling the Linux kernel
12.10 Re-analyzing Stored Streamline Capture Data
12.11 Streamline preferences
13 Troubleshooting Common Streamline Issues
13.1 Troubleshooting target connection issues
13.2 Troubleshooting report issues
14 Using Streamline on the Command Line
14.1 Opening a Streamline-enabled command prompt or shell
14.2 Streamline command-line options
14.3 Outputting command-line data to a file

List of Figures

1-1 The Start Capture button
2-1 The Streamline Data view
2-2 Automatically setting up Streamline on the target
2-3 Duplicating a capture
3-1 The Capture & Analysis Options button
3-2 The Capture & Analysis Options dialog box
3-3 The Stop button in the Live view with Discard Data option enabled
3-4 Symbols loaded icon
4-1 The Counter Configuration dialog box
4-2 The Streamline data view - Counter Configuration
4-3 Adding a counter to the Events to Collect list
4-4 The Interface drop-down menu
4-5 Setting up events-based sampling
5-1 The Live view
6-1 The Timeline view
6-2 A Cross Section Marker fuzzy line
6-3 A bar chart with an active selection in the processes section
6-4 The Processes Focus button
6-5 The Quick Access tooltip
6-6 Moving a chart using the handle control
6-7 Re-sizing a chart
6-8 Using the chart disclosure control to show per cluster data
6-9 Process bars in Heat Map mode
6-10 CPU contention dashes in the Timeline view
6-11 Filter button
6-12 Core Map mode with two cores
6-13 OpenCL mode in the Timeline view
6-14 A gap between commands in OpenCL mode
6-15 A selected command in OpenCL mode
6-16 Zooming out in OpenCL mode
6-17 OpenCL mode tooltip
6-18 Filtering in OpenCL mode
6-19 Events-based sampling tag on the Timeline toolbar
6-20 User space gator tag
6-21 Warnings tag
6-22 Community Edition tag
6-23 The zoom level drop-down menu
6-24 Timeline view Samples HUD
6-25 Using the calipers to filter
6-26 Adding a bookmark
6-27 The bookmark in the timeline overview
6-28 Charts in the Timeline view specific to Mali-based targets
6-29 The Warnings tag
6-30 The Timeline view with the Use highest quality graphics option disabled
6-31 The chart configuration button
6-32 The chart configuration panel for the Cache chart
6-33 A filled chart example
6-34 A line chart example
6-35 A bar chart example
6-36 A stacked chart example
6-37 Data from series A obstructed by data from series B
6-38 Logarithmic scale
6-39 Series options
6-40 The Color dialog box on Windows
6-41 The Snippets menu
6-42 Changing categories
6-43 Visual annotation in the Timeline view
6-44 Hovering over an image in the Timeline view
7-1 A multi-level sort
8-1 The Code View
8-2 The Totals panel
8-3 Missing source file
8-4 The Path Prefix Substitutions dialog box
8-5 The Find field
9-1 Annotation overlays
9-2 Visual Annotation in the Timeline view
10-1 Visual annotation in the Log view
11-1 Energy Probe schematic
11-2 Energy Probe electrical connection example
11-3 Connection to target
11-4 The populated Tool Path field
11-5 Energy Probe data in the Timeline view
11-6 The Energy Offset menu
11-7 Connections for NI USB-621x
12-1 The Sine counter in the Timeline view
12-2 The Analyze dialog box
14-1 A functions report generated using report mode
14-2 The Timeline view in a text file

Release Information

Document History
Issue Date Confidentiality Change
A 19 October 2010 Non-Confidential ARM Streamline Performance Analyzer 1.0
B 19 January 2011 Non-Confidential Version 5.4
C 19 April 2011 Non-Confidential Version 5.5
D 19 July 2011 Non-Confidential Version 5.6
E 19 September 2011 Non-Confidential Version 5.7
F 19 November 2011 Non-Confidential Version 5.8
G 19 February 2012 Non-Confidential Version 5.9
H 19 May 2012 Non-Confidential Version 5.10
I 19 July 2012 Non-Confidential Version 5.11
J 19 October 2012 Non-Confidential Version 5.12
K 19 December 2012 Non-Confidential Version 5.13
L 15 March 2013 Non-Confidential Version 5.14
M 14 June 2013 Non-Confidential Version 5.15
N 13 September 2013 Non-Confidential Version 5.16
O 13 December 2013 Non-Confidential Version 5.17
P 14 March 2014 Non-Confidential Version 5.18
Q 27 June 2014 Non-Confidential Version 5.19
R 17 October 2014 Non-Confidential Version 5.20

Non-Confidential Proprietary Notice

This document is protected by copyright and other related rights and the practice or implementation of the information contained in this document may be protected by one or more patents or pending patent applications. No part of this document may be reproduced in any form by any means without the express prior written permission of ARM. No license, express or implied, by estoppel or otherwise to any intellectual property rights is granted by this document unless specifically stated.
Your access to the information in this document is conditional upon your acceptance that you will not use or permit others to use the information for the purposes of determining whether implementations infringe any third party patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the avoidance of doubt, ARM makes no representation with respect to, and has undertaken no analysis to identify or understand the scope and content of, third party patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
This document consists solely of commercial items. You shall be responsible for ensuring that any use, duplication or disclosure of this document complies fully with any relevant export laws and regulations to assure that this document or any portion thereof is not exported, directly or indirectly, in violation of such export laws. Use of the word “partner” in reference to ARM’s customers is not intended to create or refer to any partnership relationship with any other company. ARM may make changes to this document at any time and without notice.
If any of the provisions contained in these terms conflict with any of the provisions of any signed written agreement covering this document with ARM, then the signed written agreement prevails over and supersedes the conflicting provisions of these terms. This document may be translated into other languages for convenience, and you agree that if there is any conflict between the English version of this document and any translation, the terms of the English version of the Agreement shall prevail.
Copyright © [2010-2014], ARM Limited or its affiliates. All rights reserved.
ARM Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.

Confidentiality Status

This document is Non-Confidential. The right to use, copy and disclose this document may be subject to license restrictions in accordance with the terms of the agreement entered into by ARM and the party that ARM delivered this document to.
Unrestricted Access is an ARM internal classification.

Product Status

The information in this document is Final, that is for a developed product.

Web Address

Non-ConfidentialPDF file icon PDF versionARM DUI0482R
Copyright © 2010-2014 ARM. All rights reserved.