TMDSEMUPROTRACE

TMDSEMUPROTRACE

  • 厂商:

    BURR-BROWN(德州仪器)

  • 封装:

    -

  • 描述:

    XDS560 CLASS HIGH SPEED EMULATOR

  • 详情介绍
  • 数据手册
  • 价格&库存
TMDSEMUPROTRACE 数据手册
Trace Analyzer User’s Guide Literature Number: SPRUHM7B March 2014 Preface About This Guide Trace Analyzer is provided by Code Composer Studio (CCS) to enable non-intrusive debug and analysis of system activity. The TI target device sends data about the target’s actions over a dedicated port. This allows you to examine the history of the processor’s actions without affecting the real-time behavior of the target application. This document applies to the features supported in Trace Analyzer with CCS v6.0. Many of the features described in this document are also provided as part of earlier versions of CCS. No application code changes are required to support basic hardware trace functionality. Additional trace configuration is possible through source code changes to instrument the target. This document provides information about Trace Analyzer. Intended Audience This document is intended for users of Trace Analyzer. This document assumes you have knowledge of embedded processor hardware concepts and the capabilities of the processors available to your application. This document also assumes that you are familiar with Code Composer Studio. Notational Conventions This document uses the following conventions: • When the pound sign (#) is used in filenames or directory paths, you should replace the # sign with the version number of the release you are using. A # sign may represent one or more digits of a version number. • Program listings, program examples, and interactive displays are shown in a mono-spaced font. Examples use bold for emphasis, and interactive displays use bold to distinguish commands that you enter from items that the system displays (such as prompts, command output, error messages, etc.). • Square brackets ( [ and ] ) identify an optional parameter. If you use an optional parameter, you specify the information within the brackets. Unless the square brackets are in a bold typeface, do not enter the brackets themselves. Documentation Feedback If you have comments about this document, please provide feedback by using the link at the bottom of the page. This link is for reporting errors or providing comments about a technical document. Using this link to ask technical support questions will delay getting a response to you. SPRUHM7B—March 2014 Submit Documentation Feedback Preface 2 www.ti.com Trademarks Trademarks Registered trademarks of Texas Instruments include Stellaris and StellarisWare. Trademarks of Texas Instruments include: the Texas Instruments logo, Texas Instruments, TI, TI.COM, C2000, C5000, C6000, Code Composer Studio, Concerto, controlSUITE, DaVinci, DSP/BIOS, eXpressDSP, Grace, KeyStone, MSP430, OMAP, RTDX, SPOX, TMS320, TMS320C2000, TMS320C5000, TMS320C6000, XDS, and XDS560. MS-DOS, Windows, and Windows NT are trademarks of Microsoft Corporation. Linux is a registered trademark of Linus Torvalds. All other brand, product names, and service names are trademarks or registered trademarks of their respective companies or organizations. March 19, 2014 SPRUHM7B—March 2014 Submit Documentation Feedback Preface 3 Contents 4 1 Overview of Trace Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.1 Introduction to Hardware Trace Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2 Software and Hardware Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Types of Traces and Their Uses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 Trace Analysis Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.5 Concurrent Trace Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.6 Trace Analysis Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.7 Trace Analyzer Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.8 About this User Guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.9 Learning More about Trace Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2 Using Trace Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Running a Trace Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Modifying Analysis Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Receiver/Transport Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Data Collection Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Icons in Analysis Configuration Dialogs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.4 Advanced Settings for Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Closing a Trace Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Running Analyzers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Working with Trace Analyzers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.1 Managing Trace Analyzer Data Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Viewing Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7 Working with Trace Data Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.1 Saving a Trace Data File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.2 Saving a CSV Data File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.3 Opening a Trace Data File or a CSV File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.4 Opening a Binary Trace File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.5 Copying Trace Data to the Clipboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8 Working with User Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8.1 Saving a User Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8.2 Running a User Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8.3 Exporting a User Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8.4 Importing a User Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9 Setting Trace Viewer Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10 Viewing Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 15 16 16 18 18 18 18 19 20 20 22 24 24 25 26 26 28 28 28 28 28 28 29 29 3 Configurations and Analyzers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Analysis Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Trace Viewer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Hardware Trace Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Function Profiling Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Statistical Function Profiling Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Stall Profiling Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4 Cache Analysis Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 31 32 36 37 38 39 40 Contents SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Contents 3.3.5 Code Coverage Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.6 Memory Throughput Analysis Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.7 Memory Transaction Logging Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.8 Power and Clock Analysis Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.9 Data Variable Tracing Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.10 Interrupt Profiling Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.11 PC Trace Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.12 Custom Core Trace Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.13 Custom System Trace Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trace Analyzer Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Function Profiler: Summary View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Function Profiler: Details View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.3 Function Profiler: Per Call View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.4 Function Execution Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.5 Program Address vs. Cycle Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.6 Code Coverage: Function Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.7 Code Coverage: Line Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.8 Code Coverage: File Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.9 Code Coverage: Instruction Coverage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.10 Cache Event Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.11 Statistical Function Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.12 Stall Cycle Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.13 Memory Throughput Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.14 Minimum Average Latency Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.15 EVE Analyzer Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.16 IVAHD Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.17 Logic Analyzer Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.18 STM Statistics Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.19 PMI Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.20 Data Variable Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.21 Interrupt Analyzer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 43 43 44 45 45 46 47 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64 64 65 66 67 71 72 4 Techniques for Using Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Special Techniques in Trace Analyzers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Zoom (Graphs Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Measurement Markers (Graphs Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Groups and Synchronous Scrolling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9 Cursor and Scroll Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.10 Column Settings and Display Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 76 77 77 78 79 79 81 83 83 83 5 JavaScript APIs for Debug Server Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 ScriptAnalysisSession Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 ScriptAnalysisSession Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Method Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Method Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.1 endAnalysis() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 85 86 86 87 89 89 3.4 SPRUHM7B—March 2014 Submit Documentation Feedback Contents 5 Contents www.ti.com 5.5.2 5.5.3 5.5.4 5.5.5 5.5.6 5.5.7 5.5.8 5.5.9 5.5.10 5.5.11 5.5.12 5.5.13 5.5.14 5.5.15 5.5.16 A exceptionThrown() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . exportDataToCSV() -- All Data Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . exportDataToCSV() -- Specified Data Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . exportDataToCSV() -- Specified Data Table with Range. . . . . . . . . . . . . . . . . . . . . . . . . . getAnalysisList(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . getBufferByName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . getDataSet(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . getName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . importAnalysis() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . loadAnalysis() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . runAnalysis() -- Run by Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . runAnalysis() -- Run by Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . runAnalyzer() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . setAnalysisProperty(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . terminate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 90 90 91 92 92 92 93 93 93 94 94 95 95 96 Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6 Contents SPRUHM7B—March 2014 Submit Documentation Feedback Chapter 1 Overview of Trace Analyzer This chapter provides an introduction to Trace Analyzer’s capabilities. Topic Page 1.1 Introduction to Hardware Trace Analysis . . . . . . . . . . . . . . . . . . . . . . . 8 1.2 Software and Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Types of Traces and Their Uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 Trace Analysis Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.5 Concurrent Trace Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.6 Trace Analysis Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.7 Trace Analyzer Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.8 About this User Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.9 Learning More about Trace Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . 13 SPRUHM7B—March 2014 Submit Documentation Feedback Overview of Trace Analyzer 7 Introduction to Hardware Trace Analysis 1.1 www.ti.com Introduction to Hardware Trace Analysis Most software engineers spend a significant amount of time debugging and optimizing their applications. Traditional emulators and simulation debugging tools uncover the majority of application bugs; but the really hard-to-find intermittent issues sometimes evade developers. In real time systems, traditional stop mode debugging techniques change the state of the system, making these bugs virtually invisible. Performance measurements in a real-time environment are difficult, and often do not provide the granularity needed to properly identify application performance issues. Trace Analyzer is provided by Code Composer Studio (CCS) to enable non-intrusive debug and analysis of system activity. The TI target device sends data about the target’s actions over a dedicated port. This allows you to examine the history of the processor’s actions without affecting the real-time behavior of the target application. No application code changes are required to support hardware trace. Trace Analyzer can help detect hard-to-find problems (without stopping the processor) such as: • • • • • Race conditions between events Pipeline stalls Crashes from stack overflows Runaway code False interrupts without stopping the processor Hardware trace has the following advantages over other types of tracing: • • • 8 No changes to the application code are required. The target does not need to be halted to gather data. The real-time performance of your application is not affected by data collection. Overview of Trace Analyzer SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Software and Hardware Requirements Trace can be used for both debugging and profiling. Trace makes it possible to debug difficult problems where visibility to program execution, timing, code coverage, or CPU data access history is required. Profiling can be used to identify bottlenecks in your application. Event trace can provide visibility to specific memory or system events that may be causing performance issues. Hardware trace is most powerful when you have a trace probe device connected to your target board to perform the data collection for uploading to the host computer. For example, the XDS560V2 Pro Trace can be connected to Texas Instrument’s KeyStone multicore DSPs, such as the 8-core TMS320C6678 or the 4-core TMS320C6670 Evaluation Module. In addition to acting as an emulator, the XDS560V2 Pro Trace captures high-speed trace data exported from the pins of the TI board to which it is connected. This document applies to the features supported in Trace Analyzer with CCS v6.0. There is no need to install additional software. Many of the features described in this document are also provided as part of earlier versions of CCS. 1.2 Software and Hardware Requirements To use Trace Analyzer, you must have Code Composer Studio (CCS) installed on a host computer. The hardware requirements for the host computer that runs CCS are provided in the CCS release notes. In addition, you will need a target board. Hardware trace support is a feature of KeyStone multicore DSP devices from Texas Instruments. These devices include the 4-core TMS320C6670 and the 8-core TMS320C6678. Hardware trace is also supported for AM335x, OMAP3, OMAP4, OMAP5, Cortex-M3, and Cortex-M4 devices. Trace data can be collected through the following: • XDS capable Trace Receiver. The XDS560v2 Pro Trace handles pin export of trace data and collects and stores trace data in the external device. Buffer sizes are large; the XDS560v2 Pro Trace supports up to 2 GB of trace buffer with up to 32 pins at 250 MHz DDR. See Section 1.5 for limitations on multicore tracing with the XDS560v2 Pro Trace. The XDS560v2 STM can be used to collect System (STM) trace data, but not PC (CPU) trace data. The Trace Analyzer tools in CCS allow you to manage the trace buffer size and operation mode. Trace receivers are ideal for both debugging and profiling. • XDS200 emulator. These JTAG emulators are available for Cortex-M3 and Cortex-M4 devices. Use the SWO Trace transport type with these emulators. • Embedded Trace Buffer (ETB). ETB is an on-chip circular memory buffer that stores compressed trace information. Any XDS-series emulator may be used with ETB data collection. Buffer sizes are typically small (4-32 KB). Because of compression, the buffer can typically store 10,000 to 30,000 lines of program trace data. This buffer operates as a circular buffer, continuously capturing trace information until data collection is halted. The primary use for ETB is debugging; profiling is difficult with a small buffer. ETB data collection may be used remotely in field-deployed products to capture exceptions, because a separate emulation device is not required. For some types of tracing, it is possible to specify the address of a remote memory location where the target will store trace data. ETB data can be read from the target using any emulator (XDS100, XDS200, XDS560, etc.). SPRUHM7B—March 2014 Submit Documentation Feedback Overview of Trace Analyzer 9 Types of Traces and Their Uses 1.3 www.ti.com Types of Traces and Their Uses The following types of hardware tracing are used by Trace Analyzer: • Standard trace. This type traces program execution and data read/write. It uses the PC (program counter) Trace technology, which is also called "CPU Trace." This type of tracing is specific to a single core. The Function Profiling Configuration and PC Trace Configuration use Standard trace. This trace type is supported for C6000 DSPs and Cortex-A, Cortex-M, and Cortex-R series ARM processors. • Event trace. This type traces events such as caching and stalls. It also uses the PC Trace technology and is specific to a single core. The Stall Profiling Configuration and Cache Analysis Configuration use Event trace. This trace type is supported for C6000 DSPs only. • System trace. Chip level system trace (STM) provides a SoC level, non-intrusive way to profile interconnect traffic and interfaces such as DDR. On certain chips, STM also provides power and clock profiling capability. System trace uses the System Trace Module (STM) to trace throughput, latency, bus utilization, and related items. System-level activity is traced, not activity within a core. The Memory Throughput Analysis Configuration and Custom System Trace Configuration use System trace. This trace type is not supported for Cortex-M series ARM devices. You can run only one live analysis that uses PC Trace (either for standard or event tracing) on a particular core at a time. If you start a new analysis configuration that uses the same PC Trace resource, you will be prompted to close the currently running analysis configuration that uses the same resource. The same is true of analyses that use System Trace. See Concurrent Trace Sessions for details. 1.4 Trace Analysis Data Sources Trace Analyzer can display trace data in tables and graphs from multiple data sources: • Connect to a device—you can connect to a device to capture and control the trace data obtained. The name of the device is displayed on all analyzer titles. Collecting trace data does not affect the real-time behavior of the application. • • Trace data from a trace data file—load previously saved trace data from a trace data file (*.tdf). • Trace data from a CSV file—load previously saved trace data from a comma-separated values file. This file usually contains a specific set of trace samples, with only the trace data fields of interest, plus some customization of the trace display to show the data according to your preferences. Trace data from a binary file—load previously saved data from a binary file (*.bin). This is a binary file created by saving raw binary data from target memory. It does not contain information about the application or target used to produce the file. You will need to specify that information when you open the file. See Working with Trace Data Files for more about off-line analysis using stored trace data files. 1.5 Concurrent Trace Sessions You can have up to the following set of trace data sources open at the same time: 10 • Several trace data files, binary trace files, and CSV files at once. Opening stored trace files is limited only by the memory and processing limitations of your host computer. • • One live analysis that uses System Trace. If you are using an XDS560v2 Pro Trace receiver with a multicore device, you can run only one live analysis that uses PC Trace at a time. PC Trace is run for a single core, and another PC Trace cannot be run for another core at the same time. Overview of Trace Analyzer SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com • Trace Analysis Configurations If you are using ETB trace with a multicore device, a separate live analysis that uses PC Trace can be run for each core at the same time. Select the cores you want to trace in the Debug area before running the trace analysis configuration. A separate Trace Viewer is opened for each core. All of your current sessions, both live and from stored data files, are listed in the Tools > Hardware Trace Analyzer menu and in the Analysis Dashboard. 1.6 Trace Analysis Configurations To make it easy to start using Trace Analyzer, several analysis configurations are provided in the Tools menu when you are debugging with CCS. These configurations are optimized for various types of debugging and profiling. • Function Profiling Configuration. Opens the Function Profiler: Summary View. (Not available for CortexM) • Statistical Function Profiling Configuration. Opens the Statistical Function Profiler. • Stall Profiling Configuration. Opens the Stall Cycle Profiler. (Not available for Cortex-M) • Cache Analysis Configuration. Opens the Cache Event Profiler. (Not available for Cortex-M) • Code Coverage Configuration. Opens the Code Coverage: Function Coverage view. (Not available for Cortex-M) • Memory Throughput Analysis Configuration. Opens the Memory Throughput Graph and the Minimum Average Latency Graph. (Not available for Cortex-M) • Memory Transaction Logging Configuration. Opens the Trace Viewer, from which a number of memory-related analyzers can be opened. (Not available for Cortex-M) • • • • • • Power and Clock Analysis Configuration. Opens the PMI Analysis feature. (OMAP only) Data Variable Tracing Configuration. Opens the Data Variable Tracing feature. (Cortex-M only) Interrupt Profiling Configuration. Opens the Interrupt Analyzer feature. (Cortex-M only) PC Trace Configuration. Opens the Trace Viewer. (Not available for Cortex-M) Custom Core Trace Configuration. Opens the Trace Viewer. Custom System Trace Configuration. Opens the Trace Viewer. (Not available for Cortex-M) SPRUHM7B—March 2014 Submit Documentation Feedback Overview of Trace Analyzer 11 Trace Analyzer Terminology 1.7 www.ti.com Trace Analyzer Terminology You should be familiar with the following terms when using this manual. 12 • Trace Analyzer. A suite of host-side tools that use data captured from a hardware trace to provide visibility into the real-time performance and behavior of target applications. • analysis configuration. A collection of Trace Analyzer settings that determine what data is collected, analyzed and displayed. The analysis configurations provided by default with CCS are "factory configurations." You can save custom Trace Analyzer settings as a "user configuration." • Analyzer. Also called an "analysis feature". Tools that may be run automatically by configurations and/or can be run from the Trace Viewer to further analyze collected data. • absolute timestamp. The time difference between when the first trace record and the current record was recorded. • CCS. Code Composer Studio. The integrated development environment (IDE) for TI's DSPs, microcontrollers, and application processors. • circular buffering. Collecting data continuously, filling the buffer from the top to the bottom and then starting back at the top again. The oldest data is overwritten with each new record. • • core. An embedded processor. Also called a CPU. • Data Watchpoint and Trace (DWT). Trace source used to collect Data Variable Tracing and Interrupt Profiling data on Cortex-M devices. • delta timestamp. The time difference between when the previous trace sample and the current sample was recorded. • DVT. Data Visualization Technology. Provides a common platform to analyze and display data collected from the target via technologies such as hardware trace, Unified Instrumentation (UIA), and JTAG memory read. It is used by various parts of CCS, including Trace Analyzer, System Analyzer, CCS Graphs, and Simulator Profile. • Embedded Trace Buffer (ETB). A buffer area on-chip where the trace data is stored, and read from the chip later, at a slower rate. • • exclusive cycles. Total number of cycles spent in a function, excluding child functions. • • inclusive cycles. Total number of cycles spent in a function, including child function calls. • MADU. Minimum Addressable Data Unit. Also called MAU. The minimum sized data that can be accessed by a particular core. Different architectures have different size MADUs. For the C6000 architecture, the MADU for both code and data is an 8-bit byte. • • PC (Program Counter). Sometimes referred to as a program address. CSV (Comma Separated Value) file. A comma-delimited output file type (*.csv filename extension) that can be opened with Microsoft Excel or spreadsheets and text editors. host. The processor that communicates with the target(s) to collect instrumentation data. For example, a Microsoft Windows computer running Code Composer Studio. JTAG. Joint Test Action Group. IEEE specification (IEEE 1149.1) for a serial interface used for debugging integrated circuits. pipeline stall. Event in which the instruction pipeline on the CPU has to wait and waste cycles. Trace Analyzer identifies when the pipeline stalls happen and can name up to four stall names. Identifying pipeline stalls and correcting them can have the greatest effect on optimizing an application. Overview of Trace Analyzer SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 1.8 About this User Guide • relative timestamp. The time difference between a base time you selected and the time the current sample was recorded. You manually set the selected base time. • stall. The execution pipeline does not advance to allow other activities to complete, for example, servicing of a cache miss. See pipeline stall. • Serial Wire Output (SWO). Single-bit output format used to transmit data for Cortex-M devices with XDS200 emulators. • SYS/BIOS. A real-time operating system for a number of TI's DSPs, microcontrollers, and application processors. SYS/BIOS is the TI-RTOS Kernel component of TI-RTOS, which is available through the CCS App Center. • target. A processor running target code. Generally this is an embedded processor such as a DSP, ARM, or microcontroller. • TDF (Trace Data File). A binary Trace Data File with the *.tdf filename extension. This file can be reloaded into the Trace Viewer. It includes all binary Trace records, display settings, filtering conditions, bookmarks, etc. associated with the original Trace recording. About this User Guide The remaining chapters in this manual cover the following topics: 1.9 • • Chapter 2, “Using Trace Analyzer“, provides steps for using various parts of Trace Analyzer. • Chapter 4, “Techniques for Using Views“, describes special techniques for using analysis features. Chapter 3, “Configurations and Analyzers“, describes the analysis dialogs and analyzers available in CCS. Learning More about Trace Analyzer To learn more about hardware tracing, see the Real-Time Hardware Trace and Analysis wiki page. SPRUHM7B—March 2014 Submit Documentation Feedback Overview of Trace Analyzer 13 Chapter 2 Using Trace Analyzer This chapter describes how to start data collection and analysis in Code Composer Studio. It also describes how to use specific Trace Analyzer configuration dialogs and analyzers. Topic 14 Page 2.1 Running a Trace Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2 Modifying Analysis Configuration Settings . . . . . . . . . . . . . . . . . . . . 16 2.3 Closing a Trace Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4 Running Analyzers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.5 Working with Trace Analyzers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.6 Viewing Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.7 Working with Trace Data Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.8 Working with User Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.9 Setting Trace Viewer Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.10 Viewing Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Using Trace Analyzer SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 2.1 Running a Trace Configuration Running a Trace Configuration Data collection for trace analysis is very configurable. To make it easy to start using Trace Analyzer, several analysis configurations are provided with Trace Analyzer. These provided configurations are optimized for various types of debugging and profiling. To run a Trace Analyzer configuration, follow these steps: 1. Connect a target device that supports hardware trace to your host computer. See Software and Hardware Requirements. 2. Build an application project in Code Composer Studio. 3. Choose File > New > Target Configuration File and create a CCS target configuration that identifies the type of connection and target board you are using. 4. Click the Test Connection button in the target configuration view. Troubleshoot the connection if necessary. 5. Choose View > Target Configurations. Find the target configuration you created in the User Defined list. Right-click on this target configuration, and choose Launch Selected Connection. 6. In the CCS Debug perspective, right-click on a core or cores in the Debug area, and choose Connect Target. 7. With the cores on which you want to run the application selected, click the Run > Load > Load Program. Load icon or choose 8. In the Load Program dialog, click Browse Project. Expand the tree to find the executable file you built, and click OK. 9. If you are running a multicore application, make sure the core(s) you want to trace are selected in the Debug area. See Concurrent Trace Sessions for issues regarding running traces for multiple cores. SPRUHM7B—March 2014 Submit Documentation Feedback Using Trace Analyzer 15 Modifying Analysis Configuration Settings www.ti.com 10. Choose a command from the Tools > Hardware Trace Analyzer menu to open the configuration dialog for that configuration. For example, if you choose Function Profiling, you will see the Function Profiling Configuration dialog. 11. In the Hardware Trace Analysis Configuration dialog, choose the Transport Type (ETB, XDS560v2, Pro Trace, or SWO Trace) that is correct for your hardware setup in the configuration dialog. The transport type you select determines what properties can be changed in the Receiver/Transport Settings. 12. If you want more control over the behavior of the trace analysis, modify the Data Collection Settings. Advanced users may also do further configuration via the Advanced Settings for Configurations. The defaults for these settings provide a good starting point. 13. Click Start to run the analysis configuration. You will see the Trace Viewer and any analyzer normally opened by the analysis configuration you ran. 14. Click the Resume icon to start the application and collect trace data. If you attempt to start a second Trace Analyzer configuration that uses the same trace type (CPU on the same core or System), you see a warning that says the trace resource is already used. You can only run one trace analysis configuration for a particular trace type at a time. See Concurrent Trace Sessions. 2.2 Modifying Analysis Configuration Settings The Hardware Trace Analysis Configuration dialogs for various analyses have several options that are the same or similar for all types of configurations. These shared options are grouped into the Receiver/Transport Settings, Icons in Analysis Configuration Dialogs, and Advanced Settings for Configurations. However, the Data Collection Settings are different for each configuration, so those options are described separately in the topics for each configuration. 2.2.1 Receiver/Transport Settings The Receiver/Transport Settings depend on what type of receiver you have selected in the Transport Type column of the table in the configuration dialog. Transport options are: 16 • • ETB. The Embedded Trace Buffer is used as a transport. • • Pro Trace. Supports the XDS560v2 Pro Trace receiver. • SWO Trace. Supports XDS200 JTAG emulators. Available only if you are connected to a Cortex-M3 or Cortex-M4 device. ETB Remote Memory. Available for custom trace configurations only. Allows you to configure the embedded trace buffer location and size. 560 V2 Trace. Supports the XDS560v2 STM JTAG emulator. Available only for analysis configurations that use System Trace. This transport has smaller buffer sizes and fewer pins than the Pro Trace. Using Trace Analyzer SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Modifying Analysis Configuration Settings The settings available differ for each transport type. For example, if you select the Pro Trace receiver, you can modify the settings that are active in the following figure: The full list of Receiver/Transport Settings is as follows: • Buffer Type. Select Stop-on-full or Circular to determine whether the buffer holds the first full buffer of data or the most recent data. (Pro Trace and 560 V2 Trace receivers only.) The trace buffer is always circular for ETB. • Buffer Size. Select the amount of space to use for this trace buffer. (Pro Trace and 560 V2 Trace receivers only.) • Buffer/IP Address. Specify either a starting address location or an IP address to indicate where the Embedded Trace Buffer (ETB) should be stored. This option is used mainly in field-deployed environments with the cToolsLib APIs for trace capture and ETB collection. (Only for ETB-Remote Memory with Custom Core Trace and Custom System Trace Configurations.) • Buffer Size/Core ID. If you specified a starting address location in the Buffer/IP Address field, specify the size of the Embedded Trace Buffer (ETB) here. If you specified an IP address in the Buffer/IP Address field, specify the Core ID for the core on which the buffer should be stored. A default value is used if you set only the Buffer/IP Address field. This option is used mainly in fielddeployed environments with the cToolsLib APIs for trace capture and ETB collection. (Only for ETB Remote Memory with Custom Core Trace and Custom System Trace Configurations.) • Number of Pins. Select the number of pins to use on the connector between the receiver and the target board. For PC Trace configurations, you can choose from 10 to 15 pins. For System Trace configurations, you can choose 1, 2, or 4 pins. The default is the recommended choice. If you find gaps in the trace buffer, you may try increasing the number of pins. (Pro Trace and 560 V2 Trace receivers only.) • Encoding Type: Select the type of encoding in use by the emulator. The only option is UART. (SWO Trace receivers only.) • COM Port: Specify the number of the COM (serial) port to which your XDS200 emulator is connected. You can find this port by opening the Windows Device Manager (available from the Control Panel or the System Properties dialog) and viewing the Ports (COM and LPT) list. (SWO Trace receivers only.) • Synchronize trace collection with target run and halt. Leave this box checked if you want trace collection to begin automatically when the target runs and halt automatically when the target halts (or earlier if the trace buffer is full). If you uncheck this box, trace collection is controlled by the Start and Stop commands in the Trace Viewer or by any Trace Range settings in the Data Collection Settings. (Available for all receiver types except SWO Trace.) SPRUHM7B—March 2014 Submit Documentation Feedback Using Trace Analyzer 17 Closing a Trace Configuration www.ti.com The Advanced Settings for Configurations allow you to control more details of the connection to the receiver, such as whether to stall the CPU to prevent data loss and whether to use a small frame size. 2.2.2 Data Collection Settings The options in the Data Collection Settings section of the Hardware Trace Analysis Configuration dialogs are different for each provided analysis configuration. The options are described separately in the topics for each analysis configuration. 2.2.3 Icons in Analysis Configuration Dialogs The Hardware Trace Analysis Configuration dialogs provide the following buttons in the lower-right corner: Toggle context-sensitive Help for this configuration. Restore the original settings for this configuration. Save your modified configuration settings as a user configuration. You will be able to run this saved configuration from the Tools > Hardware Trace Analysis menu. See Working with User Configurations. If you run a user configuration, the following icons are also available: Delete this configuration. (Note that you are not prompted to confirm that you want to delete the configuration.) Export these settings to a Zip file that can be imported as a user configuration. 2.2.4 Advanced Settings for Configurations You can click the Advanced Settings button in any Hardware Trace Analysis Configuration dialog to open the Advanced Properties dialog, which contains the details of how the trace receiver and the trace data collection are configured. All configurations are actually stored as a combination of triggers and a receiver configured within the Advanced Settings. The details of what can be set are different for each type of receiver and trace. The settings are contained in one or more "jobs" that respond to various types of triggers. You can modify the settings in the right column to customize the configuration. If you are using the Advanced Settings to customize the configuration, you may want to save the configuration for later reuse as described in Working with User Configurations. 2.3 Closing a Trace Configuration When you close the Trace Viewer, any analyzers that depend on that data are also closed. You are prompted to choose whether to discard the data or cancel closing the Trace Viewer. A trace analysis configuration and its analyzers can also be closed from the Analysis Dashboard and the Tools > Hardware Trace Analysis menu. You can close analyzers, such as the Cache Event Profiler, without discarding any data. 18 Using Trace Analyzer SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 2.4 Running Analyzers Running Analyzers In addition to opening analyzers (also called analysis features) by running an Analysis Configuration from the Tools > Hardware Trace Analyzer menu, you can also use the following methods to open analyzers: • • In the Trace Viewer, click the Analyze pull-down and select an analyzer. Right-click on the Trace Viewer area. From the context menu, choose Analyze and then an analyzer. The following list tells how to run analyzers that use PC (CPU) Trace: • • • • • • • • • • • • Function Profiler: Summary View. Opened by the Function Profiling Configuration. Function Execution Graph. Open this graph from the pull-down in the Trace Viewer. Program Address vs. Cycle Graph. Open this graph from the pull-down in the Trace Viewer. Statistical Function Profiler. Opened by the Statistical Function Profiling Configuration. Stall Cycle Profiler. Opened by the Stall Profiling Configuration. Cache Event Profiler. Opened by the Cache Analysis Configuration. Code Coverage: Function Coverage. Opened by the Code Coverage Configuration. Code Coverage: Line Coverage. Opened by the Code Coverage Configuration. Code Coverage: File Coverage. Opened by the Code Coverage Configuration. Code Coverage: Instruction Coverage. Opened by the Code Coverage Configuration. Data Variable Tracing. Opened by the Data Variable Tracing Configuration. (Cortex-M targets only) Interrupt Analyzer. Opened by the Interrupt Profiling Configuration. (Cortex-M targets only) The following list tells how to open analyzers that use System Trace: • • • • • • • Memory Throughput Graph. Opened by the Memory Throughput Analysis Configuration. Minimum Average Latency Graph. Opened by the Memory Throughput Analysis Configuration. EVE Analyzer Graph. Open this graph from the IVAHD Analyzer. Open this from the pull-down in the Trace Viewer. Logic Analyzer Graph. Open this graph from the STM Statistics Graph. Open this from the pull-down in the Trace Viewer. pull-down in the Trace Viewer. pull-down in the Trace Viewer. PMI Analysis. Opened by the Power and Clock Analysis Configuration. (OMAP targets only) Running an analysis configuration downloads a subset of the data from the receiver or trace buffer, and the associated analyzer processes it for display. When you run another analyzer from the Analyze menu in the Trace Viewer, the second analyzer tries to process the data downloaded for the first analyzer in a different way. In some cases, some data needed for the second analyzer may not have been collected. For example, it is better to open the Cache Event Profiler analyzer by running the Cache Analysis Configuration than by running the Function Profiling Configuration. The Advanced Settings in the Hardware Trace Analysis Configuration dialog determine what types of data is downloaded from the trace receiver. If you are creating your own user configurations, you can cause the configuration to collect the data required to run multiple analyzers. SPRUHM7B—March 2014 Submit Documentation Feedback Using Trace Analyzer 19 Working with Trace Analyzers 2.5 www.ti.com Working with Trace Analyzers The descriptions of the individual Trace Analyzer Views describe how to work with those windows within CCS. Analyzers provide a wide range of tools for finding the information you need within a large amount of data. These tools include ways to zoom and make cycle time measurements in graphs and ways to set bookmarks, find data, filter the data, and more. For more information, see: • • • • • • • • • • 2.5.1 Section 4.1, Special Techniques in Trace Analyzers Section 4.2, Zoom (Graphs Only) Section 4.3, Measurement Markers (Graphs Only) Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export Section 4.9, Cursor and Scroll Lock Section 4.10, Column Settings and Display Properties Managing Trace Analyzer Data Collection When you start a trace analysis configuration, the Receiver/Transport Settings part of the configuration dialog lets you set the following options that affect data collection: • Synchronize trace collection with target run and halt. Trace collection by the receiver will start automatically when the target runs and halt when the target halts. Note that this synchronization is subject to the any advanced settings that trigger trace collection based on address access or other events. • Buffer Type. Controls whether the buffer stops collecting data from the target when it is full or acts as a circular buffer. This option is only available if you are using a Pro Trace or 560 V2 receiver. • Buffer Size. Controls the size of the trace buffer. This option is only available if you are using a Pro Trace or 560 V2 receiver. You can re-open the configuration dialog to modify the settings without closing an analysis by clicking the Analysis Properties icon in the toolbar of the Trace Viewer. 20 Using Trace Analyzer SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Working with Trace Analyzers You can manage Trace Analyzer data gathering using the following commands in the toolbar of the Trace Viewer: • Start. Begins collecting a new buffer of data from the trace buffer. The records are displayed sequentially in the Trace Viewer. Old data is overwritten. Trace recording starts automatically if any of the following occur: — An Analysis Configuration is run and data collection is set to start automatically. — Target execution starts the Synchronize trace collection with target run and halt option is enabled in the Analysis Configuration. — The existing Analysis Configuration settings are modified and applied. • Stop. Halts trace data recording. Trace recording stops automatically if any of the following occur: — Target execution stops and the Synchronize trace collection with target run and halt option is enabled in the Analysis Configuration. — The target is disconnected. — The trace buffer is full and the Buffer Type is set to Stop-on-full is set in the Analysis Configuration. — The existing Analysis Configuration settings are deleted. • Resume. Resumes trace data recording without deleting previously collected data. Appends data to the end of the receiver buffer. Resume is not available if the current trace receiver buffer is full. • Scroll Lock lets you examine records as data is being collected without having the display jump to the end whenever new records are added. See Cursor and Scroll Lock. The right-click menu for the Trace Viewer provides the Freeze/Resume Update command, which halts and resumes updates. If you pause updates with this icon, data decoding continues in the background. If you reload your program or load a different program, the Trace Analyzer analyzers that are currently open are automatically reconfigured to handle data from the new program. SPRUHM7B—March 2014 Submit Documentation Feedback Using Trace Analyzer 21 Viewing Source Code 2.6 www.ti.com Viewing Source Code You can view the source code that corresponds to a record in the trace from the Trace Viewer for analysis configurations that use PC Trace (either for Standard or Event tracing). The default configurations that support source code viewing are the Function Profiling Configuration, Stall Profiling Configuration, Cache Analysis Configuration, PC Trace Configuration, and Custom Core Trace Configuration. You cannot view source code for analysis configurations that use System Trace (also called STM Trace). Commands to control viewing of source code are provided in the Trace Viewer menu when you rightclick on a Trace Viewer. By default, source code tracking is enabled in this menu. In addition the Windows > Preferences dialog enables auto-discovery of source files by default as described in Setting Trace Viewer Preferences. 22 • Open. Can be used to open a file that stores trace information in the *tdf, *.csv, or *.bin format. See Working with Trace Data Files. • Set Program File. If you are viewing trace data by opening a Trace Data File (*.tdf), binary file (*.bin), or a CSV file, choose this command to open a file dialog that lets you browse for the executable file (*.out) that was used when the data was collected. Using Trace Analyzer SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Viewing Source Code • Set Source File Search Paths. By default, the path in the Filename column is used to find source code files. If the source files cannot be found at that path, you can add additional projects and directories that contain source code used by your application with this command. Click Add Folder to browse for a directory path. Click Add Project to select additional CCS projects. Click the Up and Down buttons to change the priority in case the same source file name occurs in two locations. • Select Overlay. If your application uses software overlays (code that shares the same run time addresses) you can automatically or manually identify the overlay code. • View Source Code. To open the source code to the point that corresponds to a record in the trace, right-click on a trace record in the Trace Viewer and choose Trace Viewer > View Source Code from the pop-up menu. If the source code is not found, you should add folders to your source file search path. • Source Code Tracking. Once you have a both a source code view and the Trace Viewer open, you can synchronize the two views. If this command is enabled, you can click on a record in the Trace Viewer to scroll the source code view to the corresponding line. SPRUHM7B—March 2014 Submit Documentation Feedback Using Trace Analyzer 23 Working with Trace Data Files 2.7 www.ti.com Working with Trace Data Files The following file types can be saved and opened with Trace Analyzer: • Trace data file (*.tdf). Contains trace data as downloaded from the trace buffer. This data can be viewed with multiple analyzers. You will also need the executable file (*.out) that was used to produce the TDF file, but you do not need to load and run it on the target. You can create TDF files by clicking the Save icon in the toolbar of the Trace Viewer. • Binary trace file (*.bin). This is a binary file created by saving raw binary data from target memory. It does not contain information about the application or target used to produce the file. You will need to specify that information when you open the file. • CSV trace data file (*.csv). Stores the data in a display in a comma-separated values file. CSV data exported from the Trace Viewer can be further processed so long as the appropriate columns were exported. Data exported from an analyzer generally cannot be further processed. You do not need the executable file in order to open a CSV file. You can create CSV files by right-clicking on any analyzer and choosing Data > Export Selected or Data > Export All (see Saving a CSV Data File). Note: Trace data files (*.tdf) are not supported for Cortex-M devices. A race data file (*.tdf) stores the following information: • • • • • • • • • All trace data records in the Trace Viewer Column ordering and widths in the Trace Viewer Column visibility, alignment, number display, and fonts in the Trace Viewer Find and Filter settings and expressions Target CPU information Receiver type Source code search paths Path to the program file Software overlay selections A CSV file exported from the Trace Viewer or any analyzer stores a smaller amount of information stored. The Trace Viewer display customization options are not stored. In addition, only the records that meet the current filter criteria are saved in a CSV file. When you export the data, you can choose to omit columns from the CSV file. A binary file does not contain any information about how the application was run or the Trace Analyzer settings. It contains only the raw binary data from memory. 2.7.1 Saving a Trace Data File Note: Trace data files (*.tdf) are not supported for Cortex-M devices. To save a trace data file (*.tdf), click the Save icon in the toolbar of the Trace Viewer or right-click on the Trace Viewer and choose Save from the pop-up menu. 24 Using Trace Analyzer SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Working with Trace Data Files Browse to the location where you want to store the file, and click Save. See Working with Trace Data Files for details on what information is stored in a trace data file. The binary trace files (*.bin) used by Trace Analyzer can only be saved directly from the raw binary data in target memory. The *.bin files used by RTOS Analyzer and System Analyzer do not store the same type of trace data and cannot be used with Trace Analyzer. 2.7.2 Saving a CSV Data File To save all the records in an analyzer to a comma-separated values file (*.csv), right-click on the Trace Viewer or any analyzer and choose Data > Export All from the pop-up menu. To save some of the records in the Trace Viewer or any tabular analyzer to a CSV file, select the rows you want to save while holding down the Shift or Ctrl key. Then, right-click on the analyzer and choose Data > Export Selected from the pop-up menu. Choosing Export All or Export Selected opens the Export Data dialog. Click Browse and provide the location and filename where you want to store the data. If you are exporting data from a tabular analyzer, the Columns to export list contains all the columns that are currently visible in the tabular analyzer. Any columns that are hidden are in the Columns not to export list by default. You can select column names and use the Add and Remove buttons to control whether they are exported. Use the Move buttons to control and the order of the columns in the CSV file. SPRUHM7B—March 2014 Submit Documentation Feedback Using Trace Analyzer 25 Working with Trace Data Files www.ti.com If you are exporting data from a graph, all the columns needed to create the graph are exported by default. 2.7.3 Note: You must include the Load Address column in the CSV file if you want to import the file back into Trace Analyzer. Note: You must include the Memory Event Binary, Stall Cycle Data Binary, Delta Cycles, and Load Address columns if you want to perform profiling on trace data you save in the CSV file. Opening a Trace Data File or a CSV File You can experiment with Trace Analyzer using stored trace data files. You do not need a target device or emulator in order to analyze a trace data file with Trace Analyzer. Note: Trace data files (*.tdf) are not supported for Cortex-M devices. For sample data files that can be used with Trace Analyzer see the Real-Time Hardware Trace and Analysis wiki page. To load a trace data file, follow these steps: 1. In CCS, move to CCS Debug mode. You do not need to build or load a project. 2. Choose the Tools > Hardware Trace Analyzer > Open File menu command. 3. In the Open Trace File dialog, choose the *.tdf or *.csv file type. See Working with Trace Data Files for details about these file types. See Opening a Binary Trace File for how to open *.bin files. Note: When you load a trace data file (*.tdf) or a CSV trace data file, you may be asked to specify the location of the program/symbol/COFF (*.out) file used to generate the data. This allows Trace Analyzer to decode the trace and translate symbols. 4. Browse to the location where your trace file is located and select the file. Click Open. 5. In the Trace Viewer, click the Analyze pull-down and select an analyzer to open. The analyzer should be compatible with the type of trace data stored in the file. 2.7.4 Opening a Binary Trace File If you created a binary trace file (*.bin) by saving the raw binary data in target memory to a file, you can open it as follows: 1. In CCS, move to CCS Debug mode. You do not need to build or load a project. 2. Choose the Tools > Hardware Trace Analyzer > Open File menu command. 3. In the Open Trace File dialog, choose the *.bin file type. 4. Browse to the location where your trace file is located and select the file. Click Open. 26 Using Trace Analyzer SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Working with Trace Data Files 5. You see a dialog that lets you provide information about the application and how it was run. — Configuration. Lets you choose or create a configuration to reuse for other binary trace files for this device or application. — Program File(s). Browse for the *.out file that contains the application you ran when this binary trace file was created. This field is required. — Processor ID. Select the device family of the processor used to generate this binary trace file. This field is required. — Receiver. Select the trace receiver used to generate this binary trace file. This field is required. — Device Key. If you are using System Trace (STM), you must specify a device key for the receiver. — DCM Settings File. Browse to select an optional *.dcm file to configure the BIN2TDF utility, which converts the binary trace file to a format usable by Trace Analyzer. See the BIN2TDF Utility wiki page for details. — Source Paths. Browse to select the directories that contain source code used in the application. See Viewing Source Code. — Overlay Settings File. If your application uses software overlays (code that shares the same run time addresses), browse for a *.xml file that identifies the overlay code. 6. Click OK to load the trace data from the file. SPRUHM7B—March 2014 Submit Documentation Feedback Using Trace Analyzer 27 Working with User Configurations 2.7.5 www.ti.com Copying Trace Data to the Clipboard To paste data from a tabular analyzer into a word processor or other program in CSV format, select the rows you want to save while holding down the Shift or Ctrl key. Then, press Ctrl+C or right-click on the analyzer and choose Copy from the pop-up menu. You can then paste that data into other software applications. 2.8 Working with User Configurations The analysis configurations provided with Trace Analyzer make it easy to start using trace analysis without having to set up configurations. However, there are many powerful options available to further customize configurations. For information about changing configuration settings, see Data Collection Settings and Advanced Settings for Configurations. If you make changes to an analysis configuration, you can save that modified configuration as a user configuration and share it with other people. 2.8.1 Saving a User Configuration To create a user configuration that contains changes you have made to the settings, click the Save this configuration icon in the Hardware Trace Analysis Configuration dialog. Type a name for the new configuration and click Save. You do not need to specify a file name or location. The configuration is saved as part of your CCS settings. 2.8.2 Running a User Configuration To run a user configuration that you have saved or exported, choose the configuration from the Tools > Hardware Trace Analyzer > User Configurations menu. You will see a Hardware Trace Analysis Configuration dialog for this configuration. When you run a user configuration, the following icons are also available in the Hardware Trace Analysis Configuration dialog: Delete this configuration. (Note that you are not prompted to confirm that you want to delete the configuration.) Export these configuration settings to a Zip file that can be imported as a user configuration. 2.8.3 Exporting a User Configuration You can share user configurations with other people by exporting them to a Zip file that can be imported by another CCS user. To export a user configuration, click the Export configuration icon in the Hardware Trace Analysis Configuration dialog. Or, use the Tools > Hardware Trace Analyzer > User Configurations > Export Configuration command in the CCS menus. Browse to specify the file name and location for the Zip file. 2.8.4 Importing a User Configuration To import a user configuration, choose the Tools > Hardware Trace Analyzer > User Configurations > Import Configuration command from the CCS menus. Browse to find the Zip file that contains the user configuration you want to import. 28 Using Trace Analyzer SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 2.9 Setting Trace Viewer Preferences Setting Trace Viewer Preferences To set preferences for how the Trace Viewer behaves, choose Window > Preferences from the CCS menus. Expand the tree and select the Code Composer Studio > Advanced Tools > Trace Viewer category. The options you can set are: • Disable auto-discovery of source files. Check this box if you do not want Trace Viewer to automatically look for source files in the CCS project that contains the application you are running. See Viewing Source Code. • Assign user-provided pseudo names for assembly routines. If you have an XML file that provides names for your assembly routines, you can browse for that file here. It will be used to assign names for assembly routines in function-related analyzers. You will need to re-run the analysis configuration to restart the Trace Viewer so that these changes can take effect. 2.10 Viewing Diagnostics Right-click on a Trace Viewer and choose Trace Viewer > Diagnostics from the pop-up menu. The Diagnostics Information dialog shows the following: • CPU Clock rate (for PC Trace) or Receiver Clock rate (for System trace). These values are shown in MHz. • • Trace Data Rate. This is the rate at which data is downloaded from the trace receiver. Bandwidth. A large amount of data related to trace bandwidth usage is shown for PC Trace. There is no bandwidth data available for System Trace. SPRUHM7B—March 2014 Submit Documentation Feedback Using Trace Analyzer 29 Chapter 3 Configurations and Analyzers This chapter describes how to use specific Trace Analyzer configuration dialogs and analyzers (also called analysis features). Topic Page 3.1 Analysis Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2 Trace Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3 Hardware Trace Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.4 Trace Analyzer Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 30 www.ti.com 3.1 Analysis Dashboard Analysis Dashboard The Analysis Dashboard provides an easy way to access and control all the analysis configurations and analyzers you have opened. The tree in the left column lists all the running analyses and their analyzers. It includes both analyses for a connected target board and for trace data files you have opened. The Resource column shows the source of the data for an analysis. Double-click on an analyzer name in the Analysis column to switch to that pane in CCS. Right-click on a Trace Viewer item to open a new analyzer from the Analyze menu. You can uncheck the box in the Enable column to free the hardware channel resources associated with that analysis. Clicking the icon in the Properties column reopens the configuration dialog for a live analysis and lets you modify the active settings. The toolbar provides the following commands: New Analysis lets you select an additional analysis to run. (You may need to close a running analysis to start a new one on the target.) Remove closes the selected analysis and frees any hardware resources it is using. Remove All closes all the analyses that are running. Expand All opens all nodes in the tree. Contract All closes all nodes in the tree. You can right-click on the top-level node for an analysis and choose Remove to close the Trace Viewer and all its analyzers. You can right-click on a Trace Viewer row and choose other analyzers to open from the Analyze menu. SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 31 Trace Viewer 3.2 www.ti.com Trace Viewer The Trace Viewer opens automatically whenever you start a live data collection session or open a trace data or CSV file containing Trace Analyzer data. It contains the data downloaded from the trace buffer in tabular form. The columns shown depend on the analysis configuration you ran. You can add or hide columns in the Trace Viewer by right-clicking and choosing Column Settings. The status line below the Trace Viewer shows any warning messages and the current number of records displayed. It also indicates whether the data collected has any gaps or data errors. Trace Viewer Data Columns The columns in the Trace Viewer can be arranged in any order by dragging the column header to a new position. You can change which columns are shown by right-clicking on the Trace Viewer and choosing Column Settings. The Column Settings dialog also lets you set the numerical display format, column alignment, and text font. The following table describes commonly used Trace Viewer columns for an analysis that uses PC Trace. Additional fields may be shown depending on the advanced settings for the analysis configuration and the target device family. Trace Data Field Description Code Opcode at this program address. Cycle Time stamp in number of cycles from the start of the trace. Delta Cycles Cycle difference between two consecutive trace samples. This reflects the number of cycles an instruction took to execute or was stalled. Disassembly Disassembly of code associated with the program address. End Address End address of a function. External Event External event. Filename Source file where the function exists. Function Function to which the program address maps. 32 Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Trace Viewer Trace Data Field Description Line Number Line number in the source code file associated with the program address. Load Address Contains the load address of the traced cycles as determined at compile time. The load address differs from the program address only if the program execution includes a software overlay. If there are no software overlays, the load address is identical to the program address. Memory Event Memory/cache event. Memory Event Names Name of the memory event. For example, "L1P Miss". Micro Secs The time stamp in microseconds from the start of the trace. Milli Secs The time stamp in milliseconds from the start of the trace. Nano Secs The time stamp in nanoseconds from the start of the trace. Program Address Contains the address of the program counter of the traced cycles. (The program address differs from the load address only if the program execution includes a software overlay. If there are no software overlays, the program address is identical to the load address.) Read Address Address on the Data Address bus during a CPU read access. Read Data Data on the Data bus during a CPU read access. Read Size In Bits Size of the read access in bits. Secs The time stamp in seconds from the start of the trace. Source Source code corresponding to the program address. Stall Cycle Data Stall event qualifying the reason for a pipeline stall. Pipeline stalls are identified as such in the Trace Status field. Stall Event Names Name of the pipeline stall. For example, "L1P Miss Stall". Start Address Start address of a function. Symbol Address Same as the Program Address. Target State Descriptor (Register) CPU core register that embeds custom data into trace. Trace Status Status messages from the Trace Decoder. It includes the Decoder Error Messages. Write Address Address on the Data Address bus during a CPU write access. Write Data Data on the Data bus during a CPU write access. Write Size In Bits Size of the write access in bits. XDS560T Status Contains messages specific to the status of the attached receiver. The column header changes to reflect the receiver name. SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 33 Trace Viewer www.ti.com The following table describes commonly used Trace Viewer columns for an analysis that uses System Trace. Trace Data Field Description Channel Number Channel used for the software message (0 - 255). Class Description of the data value. Data Data value. Data Message Software message logged by the target program. Delta Time Time difference between the current and previous records. Domain The system component being traced or monitored. Master ID ID of the master that is the source of the record. Master Name Name of the master that is the source of the record. Micro Secs The time stamp in microseconds from the start of the trace. Milli Secs The time stamp in milliseconds from the start of the trace. Module The module of the master that is the source of the trace record. Nano Secs The time stamp in nanoseconds from the start of the trace. Receiver Status Contains messages specific to the status of the attached receiver. Secs The time stamp in seconds from the start of the trace. Time Time stamp in number of ticks from the start of the trace. Trace Status Status messages from the trace decoder. It includes the decoder error messages. Trace Viewer Toolbar Icons The Trace Viewer toolbar contains a number of icons that let you work with the trace data: 34 • Analyze lets you open any of the analyzers for this Analysis Configuration—such as the Function Execution Graph or the Cache Event Profiler. • Analysis Properties reopens the configuration dialog for a live analysis and lets you modify the active settings. This icon is not available if your analysis source is a trace data file or CSV file. • Enable Grouping toggles grouping on and off (Shift+G). A "group" synchronizes the trace data so that scrolling in one analyzer causes similar movement to happen automatically in another. By default, all the analyzer for a particular trace analysis are grouped. See Section 4.5. • Bookmark Mode enables bookmarking. The next record you click in the Trace Viewer will be highlighted in red. Jump to a bookmarked event by using the pull-down list next to the Bookmark Mode icon. Choose Manage the Bookmarks from the pull-down list to open a dialog that lets you rename or delete bookmarks. See Section 4.4. Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com • • • • • • • • Trace Viewer Auto Fit Columns sets the column widths to fit their current contents. Save the current trace data to a trace data file (*.tdf). Start, Stop, Resume control trace data collection as described in Section 2.5.1. Find opens a dialog to search the trace data. See Section 4.6. Filter the records to match a pattern by using the Set Filter Expression dialog. See Section 4.7. Scroll Lock lets you examine records as data is being collected without having the display jump to the end whenever new records are added. See Section 4.9. Column Settings lets you control which columns are displayed and how they are shown. You can use the dialog to change the alignment, font, and display format of a column (for example, decimal, binary, or hex). See Section 4.10. Row Count toggles the column that shows row numbers on and off. Trace Viewer Right-Click Menu Commands Right-click on the Trace Viewer to choose from a menu of options. In addition to toolbar commands, you can use the following additional commands from the right-click menu: • Column Settings. Opens a dialog to hide or display columns, change column formatting, and modify the font. • • Copy. Copies the selected row or rows to the clipboard. • Data > Export Selected. Lets you save the selected rows to a CSV (comma-separated value) file. See Section 4.8. • Data > Export All. Lets you save all the rows to a CSV file. For example, you might do this so that you can perform statistical analysis on the data values. • • Groups. Lets you select the group this Trace Viewer should belong to or create a new group. • Insert a Bookmark adds a highlight to the selected rows and provides ways to quickly jump to marked rows. See Section 4.4. • Trace Viewer provides commands to save the current trace data to a trace data file (*.tdf), view the source code executed when a record was generated, set options related to viewing source code (see Section 2.6), and display trace diagnostics. • Analyze. Open one of the analyzers. See Section 3.4. Freeze/Resume Update halts and resumes updates. See Section 2.5.1. Enable Grouping. Toggles grouping on and off (Shift+G). A "group" synchronizes trace data so that scrolling in one analyzer causes similar movement to happen automatically in another. By default, all the analyzers for a particular trace analysis are grouped. See Section 4.5. SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 35 Hardware Trace Configurations 3.3 www.ti.com Hardware Trace Configurations A hardware trace configuration is a collection of Hardware Trace Analyzer settings that determine what data is collected, analyzed and displayed. Data collection for trace analysis is very configurable. To make it easy to start using Trace Analyzer, the following analysis configurations are provided. These default configurations are optimized for various types of debugging and profiling. • Function Profiling Configuration. Opens the Function Profiler: Summary View. (Not available for Cortex-M) • • • • Statistical Function Profiling Configuration. Opens the Statistical Function Profiler. • Memory Throughput Analysis Configuration. Opens the Memory Throughput Graph and Minimum Average Latency Graph graphs. (Not available for Cortex-M) • Memory Transaction Logging Configuration. Opens the Trace Viewer, from which you can open a number of memory-related views. (Not available for Cortex-M) • Power and Clock Analysis Configuration. Opens the PMI Analysis feature, which includes several views. (OMAP targets only) • • • • • Data Variable Tracing Configuration. Opens the Data Variable Tracing. (Cortex-M targets only) Stall Profiling Configuration. Opens the Stall Cycle Profiler. (Not available for Cortex-M) Cache Analysis Configuration. Opens the Cache Event Profiler. (Not available for Cortex-M) Code Coverage Configuration. Opens the Code Coverage: Function Coverage view. (Not available for Cortex-M) Interrupt Profiling Configuration. Opens the Interrupt Analyzer. (Cortex-M targets only) PC Trace Configuration. Opens the Trace Viewer only. (Not available for Cortex-M) Custom Core Trace Configuration. Opens the Trace Viewer only. Custom System Trace Configuration. Opens the Trace Viewer only. (Not available for Cortex-M) In general, the Advanced Settings for a trace configuration define how the configuration connects to the receiver, what data is collected, and what analyzers are opened in addition to the Trace Viewer. For example, the Function Profiler configuration automatically runs the Function Profiler Analyzer. There are some exceptions to the general statement above. The PC Trace configuration does not run any analyzer, but you can run an analyzer after collecting data using the Analyzer pull-down in the Trace Viewer. The Custom Core Trace and Custom System Trace configurations do not include data collection settings or start an analyzer, because those are intended to be customized. The Open File command is technically a configuration, but does not include a connection to a receiver or data collection settings. The analysis configurations provided by default with CCS are "factory configurations." You can modify the settings of these default configurations and save them as "user configurations." See Working with User Configurations. 36 Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 3.3.1 Hardware Trace Configurations Function Profiling Configuration The Function Profiling analysis configuration collects address and timing data related to function execution. This configuration is not available for Cortex-M targets. Running this analysis opens both the Trace Viewer and the Function Profiler: Summary View. To run this analysis configuration, select the core(s) you want to analyze in the Debug view and choose Tools > Hardware Trace Analyzer > Function Profiling from the CCS menus in the CCS Debug perspective. You will see the Hardware Trace Analysis Configuration dialog for function profiling. This analysis configuration performs a Standard Trace using the CPU Trace type (also called PC Trace). If you want to use another configuration that uses the same trace type, you will be prompted to close this analysis. Select your trace receiver (ETB or Pro Trace) in the Transport Type column of the table. See Software and Hardware Requirements for information about trace receivers. The Receiver/Transport Settings and Icons in Analysis Configuration Dialogs are the same in all analysis configurations. See Advanced Settings for Configurations for information about advanced configuration. The Data Collection Settings area offers the following options: • Trace Range. By default functions are traced regardless of the memory address being executed. If you want tracing to occur only when certain memory addresses are executed, you can use the Range, Start at Address, End at Address, or Start and Stop at Addresses setting. The Range setting performs tracing at any address within the specified range. The Start and Stop at Addresses setting begins the trace only if the specific start address is executed, and stops tracing only if the specific end address is executed. If you are using the Start and Stop at Address option with a C66x target, the trace is paused when the ending address is executed; it restarts if the starting address is executed again. For ARM targets, the trace is stopped when the ending address is executed; it does not restart if the starting address is executed again. • Start Address. Specify a starting address if you are using the Range, Start at Address, or Start and Stop at Addresses option. The address you specify can be a hex-formatted address, a program address symbol name (without a leading & sign), or a data symbol name (with a leading & sign). • End Address. Specify an ending address if you are using the Range, End at Address, or Start and Stop at Addresses option. The address you specify can be a hex-formatted address, a program address symbol name (without a leading & sign), or a data symbol name (with a leading & sign). SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 37 Hardware Trace Configurations • www.ti.com Target OS. Selecting the operating system used by your application allows Trace Analyzer to collect context switch information from the OS, for example, to determine which task is running. This allows the Function Profiler to perform context aware profiling. Currently, the only Target OS option is TIRTOS. Selecting this option sets special triggers to monitor to location where SYS/BIOS stores the current task ID. The Analysis Settings area offers the following options: • Show TI Libraries. Check this box if you want functions in libraries provided by Texas Instruments to be shown in the analysis. By default, TI functions are filtered out so that you can focus on profiling your application. Functions are known to be in TI libraries if the symbol file contains an identifier or if the internal function name begins with "ti_sysbios_", "ti_uia_", or "xdc_runtime_". • Profile Level. Choose the type of function profiling to trace: — Exclusive. Does not include time spent in called functions in a function’s statistics. — Inclusive. Does include time spent in called functions in a function’s statistics. — Callee. Traces detailed information so that the Function Profiler: Details View can separately profile each function that calls or is called by a function. 3.3.2 Statistical Function Profiling Configuration The Statistical Function Profiling analysis configuration samples the program counter (PC) as a way of determining the approximate percentage of execution time spent in each function. This configuration is available for all supported targets. Running this analysis opens the Trace Viewer and the Statistical Function Profiler analyzers. To run this analysis configuration, select the core(s) you want to analyze and choose Tools > Hardware Trace Analyzer > Statistical Function Profiling from the CCS menus in the CCS Debug perspective. You will see the Hardware Trace Analysis Configuration dialog for statistical function profiling. This analysis configuration performs a Standard Trace using the CPU Trace type (also called PC Trace). If you want to use another configuration that uses the same trace type, you will be prompted to close this analysis. Select your trace receiver (ETB or Pro Trace) in the Transport Type column of the table. See Software and Hardware Requirements for information about trace receivers. The Receiver/Transport Settings and Icons in Analysis Configuration Dialogs are the same in all analysis configurations. See Advanced Settings for Configurations for information about advanced configuration. 38 Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Hardware Trace Configurations The Data Collection Settings area offers the following option: • 3.3.3 Sampling Interval. Specify how often you want to sample the program counter. By default, the program counter is sampled every 1000 cycles. (For Cortex-M devices using the SWO Trace transport, select an sampling interval from the list. The default is to sample every 1084 cycles.) Because of the limited trace buffer size, there is a tradeoff between the sampling interval and the duration of program execution you can sample. A shorter sampling interval will shorten the length of program execution you can sample but may provide more accurate profile results for the execution sampled. A longer sampling interval allows you to sample a longer program execution but may result in less accurate profile results for the duration sampled. If your program is periodic, adjust the sampling periods so that it does not synchronize with the same portions of program execution repeatedly. Stall Profiling Configuration The Stall Profiling analysis counts the number of data and program cache stalls. This analysis is typically used for performance optimization. It identifies stalls due to cache-misses or CPU pipeline stalls. It measures the amount of cycles lost due to stalls and identifies the program locations where the stalls occur. This configuration is not available for Cortex-M targets. Running this analysis opens both the Trace Viewer and the Stall Cycle Profiler. The default analysis configuration traces L1P miss stalls, L1D read miss stalls, L1D write buffer full stalls, and CPU pipeline stalls. You can modify the Advanced Settings to trace other stalls, including L1P wait state stalls, L1D DMA conflicts, and more. To run this analysis configuration, select the core(s) you want to analyze and choose Tools > Hardware Trace Analyzer > Stall Profiling from the CCS menus in the CCS Debug perspective. You will see the Hardware Trace Analysis Configuration dialog for stall profiling. This analysis configuration performs an Event Trace using the CPU Trace type (also called PC Trace). If you want to use another configuration that uses the same trace type, you will be prompted to close this analysis. Select your trace receiver (ETB or Pro Trace) in the Transport Type column of the table. See Software and Hardware Requirements for information about trace receivers. The Receiver/Transport Settings and Icons in Analysis Configuration Dialogs are the same in all analysis configurations. See Advanced Settings for Configurations for information about advanced configuration. SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 39 Hardware Trace Configurations www.ti.com The Data Collection Settings area offers the following options: • Trace Range. By default the trace is performed regardless of the memory address being executed. If you want tracing to occur only when certain memory addresses are executed, you can use the Range, Start at Address, End at Address, or Start and Stop at Addresses setting. The Range setting performs tracing at any address within the specified range. The Start and Stop at Addresses setting begins the trace only if the specific start address is executed, and stops tracing only if the specific end address is executed. If you are using the Start and Stop at Address option with a C66x target, the trace is paused when the ending address is executed; it restarts if the starting address is executed again. For ARM targets, the trace is stopped when the ending address is executed; it does not restart if the starting address is executed again. 3.3.4 • Start Address. Specify a starting address if you are using the Range, Start at Address, or Start and Stop at Addresses option. The address you specify can be a hex-formatted address, a program address symbol name (without a leading & sign), or a data symbol name (with a leading & sign). • End Address. Specify an ending address if you are using the Range, End at Address, or Start and Stop at Addresses option. The address you specify can be a hex-formatted address, a program address symbol name (without a leading & sign), or a data symbol name (with a leading & sign). Cache Analysis Configuration The Cache Analysis configuration counts the number of cache events. This analysis is typically used for performance optimization. It helps you identify cache misses that are causing performance problems. This configuration is not available for Cortex-M targets. Running this analysis opens both the Trace Viewer and the Cache Event Profiler. To run this analysis configuration, select the core(s) you want to analyze and choose Tools > Hardware Trace Analyzer > Cache Analysis from the CCS menus in the CCS Debug perspective. You will see the Hardware Trace Analysis Configuration dialog for cache analysis. This analysis configuration performs an Event Trace using the CPU Trace type (also called PC Trace). If you want to use another configuration that uses the same trace type, you will be prompted to close this analysis. Note that this configuration records no pipeline stall cycles. The values in the Cycle and Delta Cycles column reflect the instructions’ execution time only. Select your trace receiver (ETB or Pro Trace) in the Transport Type column of the table. See Software and Hardware Requirements for information about trace receivers. The Receiver/Transport Settings and Icons in Analysis Configuration Dialogs are the same in all analysis configurations. See Advanced Settings for Configurations for information about advanced configuration. 40 Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Hardware Trace Configurations The Data Collection Settings area offers the following options: • Type. Select the type of cache misses you want to analyze. The default is Non-cacheable Data Accesses. Other settings are L1P Cache Misses and L1D Cache Misses. • Trace Range, Start Address, and End Address. These fields have the same effects in this configuration dialog as they do in other configuration dialogs. See Stall Profiling Configuration. The Non-cacheable Analysis setting (default) collects: • • L1D Read Miss Path A Hits External Non-Cacheable L1D Read Miss Path B Hits External Non-Cacheable The L1P Cache Miss Analysis setting collects: • • • L1P Read Miss Hits L2 SRAM L1P Read Miss Hits L2 Cache L1P Read Miss Hits External The L1D Cache Miss Analysis setting collects: • • • • 3.3.5 L1D Read Miss Path A L1D Read Miss Path B Write Buffer Full Path A Write Buffer Full Path B Code Coverage Configuration The Code Coverage analysis configuration collects data about which lines of code and functions have been executed during a program run. You can use code coverage analysis to verify that your test cases exercise all portions of your code. Metrics for function coverage and statement (line) coverage are provided. This configuration is not available for Cortex-M targets. Running this analysis opens the Trace Viewer and the Code Coverage: Function Coverage analyzers. From the Function Coverage view, you can open views for Code Coverage: Line Coverage, Code Coverage: File Coverage, and Code Coverage: Instruction Coverage (if you enable it in the configuration). To run this analysis configuration, select the core(s) you want to analyze and choose Tools > Hardware Trace Analyzer > Code Coverage from the CCS menus in the CCS Debug perspective. You will see the Hardware Trace Analysis Configuration dialog for code coverage. This analysis configuration performs a Standard Trace using the CPU Trace type (also called PC Trace). If you want to use another configuration that uses the same trace type, you will be prompted to close this analysis. SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 41 Hardware Trace Configurations www.ti.com Select your trace receiver (ETB or Pro Trace) in the Transport Type column of the table. See Software and Hardware Requirements for information about trace receivers. The Receiver/Transport Settings and Icons in Analysis Configuration Dialogs are the same in all analysis configurations. See Advanced Settings for Configurations for information about advanced configuration. The Data Collection Settings area offers the following options: • Trace Range, Start Address, and End Address. These fields have the same effects in this configuration dialog as they do in other configuration dialogs. See Stall Profiling Configuration. The Analysis Settings area offers the following options: • Merge coverage statistics over multiple data collections. By default, the statistics about code coverage reflect only the current trace buffer retrieved from the trace receiver (ETB or Pro Trace). If you want statistics accumulated over multiple buffers, check this box. Note that if the trace buffer fills before you retrieve data, events will be missed and the code coverage information will be incomplete. • Highlight covered lines in source files. If you check this box, statements that were executed are highlighted in green. Statements that were not identified as executed in the trace buffer are highlighted in pink. Note that if the trace buffer fills before you retrieve data, events will be missed and some lines that were actually executed may be highlighted in pink. • Show TI Libraries. Check this box if you want functions in libraries provided by Texas Instruments to be shown in the analysis. By default, TI functions are filtered out so that you can focus on profiling your application. Functions are known to be in TI libraries if the symbol file contains an identifier or if the internal function name begins with "ti_sysbios_", "ti_uia_", or "xdc_runtime_". • Show Instruction Coverage View. If you need to view which lines in the assembly language generated for your code are covered, check this box. Use the Code Coverage: Instruction Coverage view to access this data. Be aware that tracing code coverage at the assembly level will increase the processing time and the amount of trace data significantly. Note that Code Coverage supports both optimized and non-optimized C/C++ code by basing its statistics on the percent of instructions covered. Coverage based on "source lines" can be confusing when code is compiled with optimization, because the compiler shifts code around in order to optimize it. 42 Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 3.3.6 Hardware Trace Configurations Memory Throughput Analysis Configuration The Memory Throughput Analysis configuration collects data to graph memory access throughput in megabytes per second (MB/s) and the number of bus cycles spent waiting to access memory. This configuration is not available for Cortex-M targets. This analysis is typically used for performance optimization. It helps you identify cache misses that are hurting performance, which bus master is hogging the bus to DDR, how much data is going to and from the DDR and how long it takes to move the data, and how much time is being spent waiting for access to memory. Running this analysis opens the Trace Viewer, the Memory Throughput Graph, and the Minimum Average Latency Graph. From the Trace Viewer, you can open the same set of views available through the Memory Transaction Logging Configuration. To run this analysis configuration, choose Tools > Hardware Trace Analyzer > Memory Throughput Analysis from the CCS menus in the CCS Debug perspective. You will see the Hardware Trace Analysis Configuration dialog for this analysis. (You do not need to select core(s) in the Debug view before running this analysis.) This analysis configuration uses the System Trace type (also called STM Trace). If you want to use another configuration that uses the same trace type, you will be prompted to close this analysis. Select your trace receiver (ETB or Pro Trace) in the Transport Type column of the table. See Software and Hardware Requirements for information about trace receivers. The Receiver/Transport Settings and Icons in Analysis Configuration Dialogs are the same in all analysis configurations. See Advanced Settings for Configurations for information about advanced configuration. The Data Collection Settings area offers the following options: • 3.3.7 Transaction Filter. Select the types of memory access to trace. The default is Read and Writes. Other settings are Only Reads and Only Writes. Memory Transaction Logging Configuration The Memory Transaction Logging configuration collects data that allows you to graph and analyze various types of memory access. This configuration is not available for Cortex-M targets. Running this analysis opens the Trace Viewer. From this viewer, you can open the EVE Analyzer Graph, IVAHD Analyzer, Logic Analyzer Graph, Memory Throughput Graph, Minimum Average Latency Graph, PMI Analysis, and STM Statistics Graph views. SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 43 Hardware Trace Configurations www.ti.com To run this analysis configuration, choose Tools > Hardware Trace Analyzer > Memory Transaction Logging from the CCS menus in the CCS Debug perspective. You will see the Hardware Trace Analysis Configuration dialog for this analysis. (You do not need to select core(s) in the Debug view before running this analysis.) This analysis configuration uses the System Trace type (also called STM Trace). If you want to use another configuration that uses the same trace type, you will be prompted to close this analysis. Select your trace receiver (ETB or Pro Trace) in the Transport Type column of the table. See Software and Hardware Requirements for information about trace receivers. The Receiver/Transport Settings and Icons in Analysis Configuration Dialogs are the same in all analysis configurations. See Advanced Settings for Configurations for information about advanced configuration. The Data Collection Settings area offers the following options: • 3.3.8 Transaction Filter. Select the types of memory access to trace. The default is Read and Writes. Other settings are Only Reads and Only Writes. Power and Clock Analysis Configuration The Power and Clock Analysis configuration collects data from the Power Management Instrumentation (PMI) and Clock Management Instrumentation (CMI) modules. These modules provide state monitoring on a sample window basis. This analysis is typically used for power management testing and performance optimization. This configuration is available for OMAP targets only. Running this analysis opens the Trace Viewer and the PMI Analysis analyzer, which provides a number of views. To run this analysis configuration, choose Tools > Hardware Trace Analyzer > Power and Clock Analysis from the CCS menus in the CCS Debug perspective. You will see the Hardware Trace Analysis Configuration dialog for this analysis. (You do not need to select core(s) in the Debug view before running this analysis.) This analysis configuration uses the System Trace type (also called STM Trace). If you want to use another configuration that uses the same trace type, you will be prompted to close this analysis. Select your trace receiver (ETB or Pro Trace) in the Transport Type column of the table. See Software and Hardware Requirements for information about trace receivers. The Receiver/Transport Settings and Icons in Analysis Configuration Dialogs are the same in all analysis configurations. See Advanced Settings for Configurations for information about advanced configuration. There are no Data Collection Settings for the Power and Clock Analysis. 44 Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 3.3.9 Hardware Trace Configurations Data Variable Tracing Configuration This configuration traces read and write accesses of a variable and shows a graph of the variable’s value vs. time. Running this analysis opens the Trace Viewer and the Data Variable Tracing analyzer. This configuration uses the Cortex-M Data Watchpoint and Trace (DWT) trace source, and is available for Cortex-M targets only. It requires a connection through an XDS200 emulator and the SWO Trace transport type. To run this analysis configuration, select the core(s) you want to analyze and choose Tools > Hardware Trace Analyzer > Data Variable Tracing from the CCS menus in the CCS Debug perspective. You will see the Hardware Trace Analysis Configuration dialog for data variable tracing. Select your trace receiver (SWO Trace) in the Transport Type column of the table. See Software and Hardware Requirements for information about trace receivers. The Receiver/Transport Settings and Icons in Analysis Configuration Dialogs are the same in all analysis configurations. See Advanced Settings for Configurations for information about advanced configuration. The Data Collection Settings area offers the following options: • 3.3.10 Variable Address. Specify the address of the variable you want to trace. For example, to trace a variable called myVar, type &myVar. Interrupt Profiling Configuration This configuration traces interrupt entries and exits and time spent in each interrupt. It provides a graph of interrupt execution vs. time and detail and summary views showing execution times and statistics. Running this analysis opens the Trace Viewer and the Interrupt Analyzer analyzer. This configuration uses the Cortex-M3/M4 Data Watchpoint and Trace (DWT) trace source, and is available for Cortex-M targets only. It requires a connection through an XDS200 emulator and the SWO Trace transport type. To run this analysis configuration, select the core(s) you want to analyze and choose Tools > Hardware Trace Analyzer > Interrupt Polling from the CCS menus in the CCS Debug perspective. You will see the Hardware Trace Analysis Configuration dialog for interrupt polling. Select your trace receiver (ETB or Pro Trace) in the Transport Type column of the table. See Software and Hardware Requirements for information about trace receivers. SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 45 Hardware Trace Configurations www.ti.com The Receiver/Transport Settings and Icons in Analysis Configuration Dialogs are the same in all analysis configurations. See Advanced Settings for Configurations for information about advanced configuration. There are no Data Collection Settings for this configuration: 3.3.11 PC Trace Configuration The PC Trace analysis configuration collects address and timing data related to function execution. This analysis is typically used for debugging. It helps you figure out what happened leading up to a crash or why memory is being corrupted. This configuration is not available for Cortex-M targets. Running this analysis opens only the Trace Viewer. To run this analysis configuration, select the core(s) you want to analyze and choose Tools > Hardware Trace Analyzer > PC Trace from the CCS menus in the CCS Debug perspective. You will see the Hardware Trace Analysis Configuration dialog for PC tracing. This analysis configuration performs a Standard Trace using the CPU Trace type (also called PC Trace). If you want to use another configuration that uses the same trace type, you will be prompted to close this analysis. Select your trace receiver (ETB or Pro Trace) in the Transport Type column of the table. See Software and Hardware Requirements for information about trace receivers. The Receiver/Transport Settings and Icons in Analysis Configuration Dialogs are the same in all analysis configurations. See Advanced Settings for Configurations for information about advanced configuration. The Data Collection Settings area offers the following options (which are the same as those for Function Profiling Configuration): • 46 Trace Range, Start Address, and End Address. These fields have the same effects in this configuration dialog as they do in other configuration dialogs. See Stall Profiling Configuration. Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 3.3.12 Hardware Trace Configurations Custom Core Trace Configuration The Custom Core Trace analysis configuration collects trace data for a single core as configured by the target application. The trace can be configured by the target application, or you can add trigger jobs to the configuration with the Advanced Settings. This configuration is available for all supported targets. Running this analysis opens only the Trace Viewer. To run this analysis configuration, select the core(s) you want to analyze and choose Tools > Hardware Trace Analyzer > Custom Core Trace from the CCS menus in the CCS Debug perspective. You will see the Hardware Trace Analysis Configuration dialog for PC tracing. This analysis configuration uses the CPU Trace type (also called PC Trace). If you want to use another configuration that uses the same trace type, you will be prompted to close this analysis. Select your trace receiver (ETB or Pro Trace) in the Transport Type column of the table. See Software and Hardware Requirements for information about trace receivers. The Receiver/Transport Settings and Icons in Analysis Configuration Dialogs are the same in all analysis configurations. See Advanced Settings for Configurations for information about advanced configuration. There is no Data Collection Settings area for the Custom Core Trace analysis. 3.3.13 Custom System Trace Configuration The Custom System Trace analysis configuration collects System trace data as configured by the target application. The trace can be configured by the target application, or you can add trigger jobs to the configuration with the Advanced Settings. This analysis is typically used for monitoring and debugging of STM software messages and STM hardware events. This configuration is not available for Cortex-M targets. Running this analysis opens only the Trace Viewer. To run this analysis configuration, select the core(s) you want to analyze and choose Tools > Hardware Trace Analyzer > Custom System Trace from the CCS menus in the CCS Debug perspective. You will see the Hardware Trace Analysis Configuration dialog for System tracing. This analysis configuration uses the System Trace type (also called STM Trace). If you want to use another configuration that uses the same trace type, you will be prompted to close this analysis. Select your trace receiver (ETB or Pro Trace) in the Transport Type column of the table. See Software and Hardware Requirements for information about trace receivers. The Receiver/Transport Settings and Icons in Analysis Configuration Dialogs are the same in all analysis configurations. See Advanced Settings for Configurations for information about advanced configuration. There is no Data Collection Settings area for the Custom System Trace analysis. SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 47 Trace Analyzer Views 3.4 www.ti.com Trace Analyzer Views An "analyzer" is a tool that may be run automatically by a configuration or manually from the Trace Viewer to further analyze collected data. Analyzers are not just views; they perform further processing on the data (and therefore take time to run). Analyzers are also called "analysis features." The following analyzers are provided by Trace Analyzer. • Function Profiler: Summary View. Opened by the Function Profiling Configuration. Includes Function Profiler: Summary View, Function Profiler: Details View, and Function Profiler: Per Call View views, which you can open from the pull-down. (Not available for Cortex-M) • Function Execution Graph. Open this graph from the analysis that uses PC Trace. (Not available for Cortex-M) • Program Address vs. Cycle Graph. Open this graph from the for an analysis that uses PC Trace. (Not available for Cortex-M) • Code Coverage: Function Coverage. Opened by the Code Coverage Configuration. (Not available for Cortex-M) • Code Coverage: Line Coverage. Open this view from the Function Coverage view. (Not available for Cortex-M) pull-down in the Code Coverage: • Code Coverage: File Coverage. Open this view from the Function Coverage view. (Not available for Cortex-M) pull-down in the Code Coverage: • Code Coverage: Instruction Coverage. Open this view from the Coverage: Function Coverage view. (Not available for Cortex-M) • • • • Cache Event Profiler. Opened by the Cache Analysis Configuration. (Not available for Cortex-M) • Minimum Average Latency Graph. Opened by the Memory Throughput Analysis Configuration. (Not available for Cortex-M) • • • Data Variable Tracing. Opened by the Data Variable Tracing Configuration. (Cortex-M targets only) pull-down in the Trace Viewer for an pull-down in the Trace Viewer pull-down in the Code Statistical Function Profiler. Opened by the Statistical Function Profiling Configuration. Stall Cycle Profiler. Opened by the Stall Profiling Configuration. (Not available for Cortex-M) Memory Throughput Graph. Opened by the Memory Throughput Analysis Configuration. (Not available for Cortex-M) Interrupt Analyzer. Opened by the Interrupt Profiling Configuration. (Cortex-M targets only) EVE Analyzer Graph. Opened through the Memory Transaction Logging Configuration. You can open this graph from the pull-down in the Trace Viewer. (Not available for Cortex-M) • IVAHD Analyzer. Opened through the Memory Transaction Logging Configuration. You can open this graph from the pull-down in the Trace Viewer. (Not available for Cortex-M) • Logic Analyzer Graph. Opened through the Memory Transaction Logging Configuration. You can open this graph from the pull-down in the Trace Viewer. (Not available for Cortex-M) • STM Statistics Graph. Opened through the Memory Transaction Logging Configuration. You can open this graph from the pull-down in the Trace Viewer. ((Not available for Cortex-M) • PMI Analysis. Opened through the Memory Transaction Logging Configuration. You can open this graph from the pull-down in the Trace Viewer. Also opened by the Power and Clock Analysis Configuration. (OMAP targets only) See Running Analyzers for ways to open analyzers and Working with Trace Analyzers for ways to use analyzers. 48 Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 3.4.1 Trace Analyzer Views Function Profiler: Summary View To open this view, run the Function Profiling Configuration. By default, the Summary view opens. Use the Views pull-down to open the Function Profiler: Summary View and Function Profiler: Details View. This analyzer is not available for Cortex-M targets. This analyzer provides a table of data for each of the functions run during trace data collection. The information provided includes statistics for the number of CPU cycles and pipeline stalls per function. The Function Profiling Configuration allows you to choose whether you want this analysis to include TI libraries and what level function execution statistics should be traces. The levels are: — Exclusive. Does not include time spent in called functions in a function’s statistics. — Inclusive. Does include time spent in called functions in a function’s statistics. — Callee. Traces detailed information so that the Function Profiler: Details View can separately profile each function that calls or is called by a function. Click on a column heading to sort the records by that statistic. Click again to reverse the order. The columns available in this analyzer are as follows: • • • • Function. Name and calling syntax for the function. • Incl. The percent of all CPU cycles spent executing this function, including time spent executing functions called by this function. • Stalls. The percent of all CPU cycles spent in a pipeline stall. A pipeline stall is an event in which the instruction pipeline CPU has to wait and waste cycles. Identifying pipeline stalls and correcting them can have the greatest effect on optimizing an application. • Excl Avg, Excl Total. The average and total number of CPU cycles for this function, not including time spent executing functions called by this function. • Incl Avg, Incl Total. The average and total number of CPU cycles for this function, including time spent executing functions called by this function. • Stalls Avg, Stalls Total. The average and total number of CPU cycles spent in a pipeline stall in this function. Calls. Number of times a function was called. Partial Calls. Number of times a function was called but did not run to completion. Excl. The percent of all CPU cycles spent executing this function, not including time spent executing functions called by this function. SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 49 Trace Analyzer Views www.ti.com See Also • • • • • • 3.4.2 Section 4.1, Special Techniques in Trace Analyzers Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export Function Profiler: Details View To open this view, run the Function Profiling Configuration. By default, the Summary view opens. Use the Views pull-down to open the Details view. Other views for Function Profiling are Function Profiler: Summary View and Function Profiler: Per Call View. This view is not available for Cortex-M targets. The Function Profiling Configuration allows you to choose whether you want this analysis to include TI libraries and the level of function execution to trace. If you want to see the Callers and Callees as shown in the following figure, choose Callee as the Profile Level in the Analysis Settings of the Function Profiling Configuration. The Details view provides a tree view that lets you expand a list of the functions that called and were called by each function that executed. The table includes columns similar to those in the Function Profiler: Summary View. In addition, the filename, start address, and end address for each function are listed. Note that the Incl (%) column shows the total time spent in a callee function relative to the total time spent in the caller function. For example, suppose function A() calls function B(), which calls function C(). If the inclusive number of CPU cycles is 200 for function A(), 20 for function B(), and 10 for function C(), then the Incl % for function B() is 10% relative to its caller. The Incl % for function C() is 50% relative to its caller. See Also • • • • • • 50 Section 4.1, Special Techniques in Trace Analyzers Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 3.4.3 Trace Analyzer Views Function Profiler: Per Call View To open this view, run the Function Profiling Configuration. By default, the Summary view opens. Use the Views pull-down to open the Per Call view. Other views for Function Profiling are Function Profiler: Summary View and Function Profiler: Details View. This analyzer provides a table of data for each of the functions run during trace data collection. The information provided includes statistics for the number of CPU cycles and pipeline stalls per function. The Function Profiling Configuration allows you to choose whether you want this analysis to include TI libraries and the level of function execution to trace. The Per Call view provides a list of all function calls that occurred with the time (in cycles) when the function was entered and exited and the number of cycles used for exclusive and inclusive execution. See Also • • • • • • Section 4.1, Special Techniques in Trace Analyzers Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 51 Trace Analyzer Views 3.4.4 www.ti.com Function Execution Graph To open this graph, run the Function Profiling Configuration and then use the in the Trace Viewer to open the graph. Analyze pull-down This analyzer is not available for Cortex-M targets. The graph shows what function is executing vs. the cycle count. It can be used to measure the number of cycles between operations. Notice that the graph does not indicate when functions are entered and exited. Click the + sign next to the Function item next to the y-axis to expand the list of functions. If the graph has a large number of functions, you can right-click on the graph and select Display Properties, choose the State/Event Categories tab, and deselect functions you want to omit from the graph. See Section 4.10 for details. Use the zoom in and out icons as needed to view the portion of the program that interests you. You can use your mouse to select a region on the x-axis for zooming in. See Section 4.2 for details. By default, all analyzers that share data are grouped. You can click on a point in the execution graph to scroll the Trace Viewer to the record for that cycle. Likewise, you can click on a record in the Trace Viewer to scroll the execution graph to that cycle. See Section 4.5 for details. To measure the number of cycles between two points on the graph, right-click on the graph and select Insert Measurement Mark. Then click on the graph to create the first mark. Use the same command to create a second mark. Notice that the upper-right corner of the graph shows the cycle numbers for both marks and the difference between the two. You can hold down the Shift key and use your mouse to move the marks. See Section 4.3 for details. See Also • • • • 52 Section 4.4, Bookmarks Section 4.6, Find Section 4.7, Filter Section 4.8, Export Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 3.4.5 Trace Analyzer Views Program Address vs. Cycle Graph You can open this graph by running the PC Trace Configuration or the Function Profiling Configuration and then using the Analyze pull-down in the Trace Viewer to open this graph. This analyzer is not available for Cortex-M targets. This graph shows what address was executed vs. the cycle count. See Also • • • • • • • Section 4.2, Zoom (Graphs Only) Section 4.3, Measurement Markers (Graphs Only) Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 53 Trace Analyzer Views 3.4.6 www.ti.com Code Coverage: Function Coverage You can open the Function Coverage analyzer by running the Code Coverage Configuration. Use the Views pull-down to open the other views: Line Coverage, File Coverage, and Instruction Coverage (if you chose to include it in the configuration dialog). This analyzer is not available for Cortex-M targets. This analyzer provides information about functions that have or have not been executed. This analysis is typically used for determining whether a test does a good job of exercising the code in the application. It also helps you debug code by identifying which code is being executed. Click on a column heading to sort the records by that statistic. Click again to reverse the order. The columns shown in this analyzer are as follows: • • • Filename. Path to source file where the function exists. Function. Name and calling syntax for the function. Instrs Covered (%). The percentage of executable lines in the function that have been executed. Note that Code Coverage supports both optimized and non-optimized C/C++ code by basing its statistics on the percent of instructions covered. Coverage based on "source lines" can be confusing when code is compiled with optimization, because the compiler shifts code around in order to optimize it. These statistics reflect the records in all trace buffers accumulated for this application run if you toggle the icon on or checked the Merge coverage statistics over multiple data collections box when you ran the configuration. Otherwise, they reflect only records in the current trace buffer. If you toggle the icon on or checked the box to Highlight covered lines in source files when you ran the configuration, statements that were fully or partially executed are highlighted in green in source files. Statements that were not identified as executed in the trace buffer are highlighted in pink. Non- 54 Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Trace Analyzer Views executable statements, including declarations and comments, are not highlighted. Note that if the trace buffer fills before you retrieve data, events will be missed and some lines that were actually executed may be highlighted in pink. To see the source code, you can jump from a row in the Trace Viewer to the corresponding line in the source code by right-clicking on a Trace Viewer row and choosing Trace Viewer > View Source Code from the right-click menu (see Section 2.6). See Also • • • • • • Section 4.1, Special Techniques in Trace Analyzers Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 55 Trace Analyzer Views 3.4.7 www.ti.com Code Coverage: Line Coverage To open the Line Coverage analyzer, run the Code Coverage Configuration. Then use the pull-down in the Code Coverage: Function Coverage view to open the Line Coverage view. Views This analyzer is not available for Cortex-M targets. This analyzer provides information about lines of code that have or have not been executed. This analysis is typically used for determining whether a test does a good job of exercising the code in the application. It also helps you debug code by identifying which code is being executed. Click on a column heading to sort the records by that value. Click again to reverse the order. If you toggle the icon on or checked the box to Highlight covered lines in source files when you ran the configuration, statements that were fully or partially executed are highlighted in green in source files. Statements that were not identified as executed in the trace buffer are highlighted in pink. Nonexecutable statements, including declarations and comments, are not highlighted. Note that if the trace buffer fills before you retrieve data, events will be missed and some lines that were actually executed may be highlighted in pink. To see the source code, you can jump from a row in the Trace Viewer to the corresponding line in the source code by right-clicking on a Trace Viewer row and choosing Trace Viewer > View Source Code from the right-click menu (see Section 2.6). 56 Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Trace Analyzer Views For a statement that spans multiple lines, the line number shown is the first line of the statement. The columns shown in this analyzer are as follows: • • • • Filename. Path to source file where the line of code exists. Function. Name and calling syntax for the function that contains this line of code. Line Number. Line number in source file for which this row reports coverage statistics. Covered. Shows YES or NO to indicate whether this line was executed. These statistics reflect the records in all trace buffers accumulated for this application run if you toggle the icon on or checked the Merge coverage statistics over multiple data collections box when you ran the configuration. Otherwise, they reflect only records in the current trace buffer. See Also • • • • • • 3.4.8 Section 4.1, Special Techniques in Trace Analyzers Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export Code Coverage: File Coverage To open the File Coverage analyzer, run the Code Coverage Configuration. Then use the pull-down in the Code Coverage: Function Coverage view to open the File Coverage view. Views This analyzer is not available for Cortex-M targets. This analyzer provides information about code coverage on a per file basis. This type of analysis is typically used for determining whether a test does a good job of exercising the code in the application. It also helps you debug code by identifying which code is being executed. Click on a column heading to sort the records by that value. Click again to reverse the order. The columns shown in this analyzer are as follows: • • Filename. Path to source file where the line of code exists. Instrs Covered (%). The percentage of instructions in this file that have been executed. SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 57 Trace Analyzer Views www.ti.com Note that Code Coverage supports both optimized and non-optimized C/C++ code by basing its statistics on the percent of instructions covered. Coverage based on "source lines" can be confusing when code is compiled with optimization, because the compiler shifts code around in order to optimize it. See Also • • • • • • 3.4.9 Section 4.1, Special Techniques in Trace Analyzers Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export Code Coverage: Instruction Coverage To open the Instruction Coverage analyzer, run the Code Coverage Configuration. Check the box in the Analysis Settings to Show Instruction Coverage View. Use the Views pull-down in the Code Coverage: Function Coverage view to open the Instruction Coverage view. Be aware that tracing code coverage at the assembly level increases processing time and the amount of trace data significantly. This analyzer is not available for Cortex-M targets. This analyzer provides information about assembly code coverage on a per line basis. This type of analysis is typically used for determining whether a test does a good job of exercising the code in the application. It also helps you debug code by identifying which code is being executed. Click on a column heading to sort the records by that value. Click again to reverse the order. The columns shown in this analyzer are as follows: 58 • • • Filename. Path to source file where the line of code exists. • • • Address. The address for this assembly line in code storage. Function. Name and calling syntax for the function that contains this line of code. Line Number. Line number in C or other source file. Note that one line of C code is likely to result in at least several lines of assembly language. Disassembly. The equivalent assembly language instruction. Covered. Shows YES or NO to indicate whether this line of assembly language was executed. Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Trace Analyzer Views See Also • • • • • • 3.4.10 Section 4.1, Special Techniques in Trace Analyzers Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export Cache Event Profiler You can open this analyzer by running the Cache Analysis Configuration. This analyzer is not available for Cortex-M targets. This analyzer provides a table of counts of cache events. This analysis is typically used for performance optimization. It helps you identify cache misses that are causing performance problems. Click on a column heading to sort the records by that statistic. Click again to reverse the order. The columns available in this analyzer are determined by the cache events that were traced. You can change these events in the Cache Analysis Configuration. See Also • • • • • • • • TMS320C66x DSP Cache User’s Guide (SPRUGY8) TMS320C6000 DSP Cache User’s Guide (SPRU656) Section 4.1, Special Techniques in Trace Analyzers Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 59 Trace Analyzer Views 3.4.11 www.ti.com Statistical Function Profiler You can open this analyzer by running the Statistical Function Profiling Configuration. This analyzer periodically samples the program counter (PC) as a way of determining the approximate percentage of execution time spent in each function. When you start this configuration, you can specify how often you want to sample the program counter. By default, the program counter is sampled every 1000 cycles. Because of the limited trace buffer size, there is a tradeoff between the sampling interval and the duration of program execution you can sample. A shorter sampling interval will shorten the length of program execution you can sample but may provide more accurate profile results for the execution sampled. A longer sampling interval allows you to sample a longer program execution but may result in less accurate profile results for the duration sampled. If your program is periodic, adjust the sampling periods so that it does not synchronize with the same portions of program execution repeatedly. Click on a column heading to sort the records by that statistic. Click again to reverse the order. The columns available in this analyzer are as follows: • • Function. Name of the function. • • Filename. Name of source file where the function exists. Times Encountered. The number of times an address belonging to this function was sampled during the sampling session. Function Percentage. The percentage of trace buffer records that reference this function. This generally corresponds with the percentage of execution time spent in this function. Note that these percentages are an approximation based on sampling the program counter at a regular interval. See Also • • • • • • 60 Section 4.1, Special Techniques in Trace Analyzers Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 3.4.12 Trace Analyzer Views Stall Cycle Profiler You can open this analyzer by running the Stall Profiling Configuration. This analyzer is not available for Cortex-M targets. This analyzer provides a table showing the number of data and program cache stalls. This analyzer is typically used for performance optimization. It identifies stalls due to cache-misses and CPU pipeline stalls. It measures the amount of cycles lost due to stalls and identifies the program locations where the stalls occur. The columns available in this analyzer are determined by the stall events that were traced. Click on a column heading to sort the records by that statistic. Click again to reverse the order. The columns available in this analyzer are as follows (the types of stalls may differ for your device): • • • • • • Filename. Name of source file where the function exists. Function. Name and calling syntax for the function. L1P Stalls Total. Number of L1P stalls that occurred. L1D Read Miss Stalls Total. Number of L1D read miss stalls that occurred. Write Buffer Full Stalls Total. Number of times a stall occurred because a write buffer was full. Other Stalls Total. Number of other stalls that occurred. See Also • • • • • • Section 4.1, Special Techniques in Trace Analyzers Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 61 Trace Analyzer Views 3.4.13 www.ti.com Memory Throughput Graph You can open this graph by running the Memory Throughput Analysis Configuration. This analyzer is not available for Cortex-M targets. This graph shows the memory throughput in MB transferred per second over time. Click on the legend to highlight a data set for the bus master selected in the analysis configuration or all bus masters. If Trace Analyzer knows the clock frequency, you can change the units on the x-axis of this graph to seconds. Right-click on the view, and choose Display Properties. Choose the Axes category. Use the Display format and Unit fields to select the unit and format you want to display. If Trace Analyzer does not know the clock frequency, only ticks are supported. For example, the ETB receiver does not provide the clock frequency. Callouts in this graph identify events in the example that affect the throughput rate. See Also • • • • • • • 62 Section 4.2, Zoom (Graphs Only) Section 4.3, Measurement Markers (Graphs Only) Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 3.4.14 Trace Analyzer Views Minimum Average Latency Graph You can open this graph by running the Memory Throughput Analysis Configuration. This analyzer is not available for Cortex-M targets. This graph shows the number of CP_tracer bus cycles required over time. Only one data set is shown because the counter counts all accesses together. If Trace Analyzer knows the clock frequency, you can change the units on the x-axis of this graph to seconds. Right-click on the view, and choose Display Properties. Choose the Axes category. Use the Display format and Unit fields to select the unit and format you want to display. If Trace Analyzer does not know the clock frequency, only ticks are supported. For example, the ETB receiver does not provide the clock frequency. See Also • • • • • • • Section 4.2, Zoom (Graphs Only) Section 4.3, Measurement Markers (Graphs Only) Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 63 Trace Analyzer Views 3.4.15 www.ti.com EVE Analyzer Graph Open this graph by opening the Memory Transaction Logging Configuration. Use the pull-down in the Trace Viewer to open this graph. The Scope graph is shown by default. Analyze You can then use the Views pull-down to open the various views available for the EVE Analyzer. Detail, Summary, Segment Time Plot, and Overall Time Plot views are available. This analyzer is not available for Cortex-M targets. See Also • • • • • • • 3.4.16 Section 4.2, Zoom (Graphs Only) Section 4.3, Measurement Markers (Graphs Only) Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export IVAHD Analyzer Open this graph by opening the Memory Transaction Logging Configuration. Use the pull-down in the Trace Viewer to open this graph. The Scope graph is shown by default. You can then use the Analyze Views pull-down to open the various views available for this Analyzer. This analyzer is not available for Cortex-M targets. See Also • • • • • • 64 Section 4.1, Special Techniques in Trace Analyzers Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 3.4.17 Trace Analyzer Views Logic Analyzer Graph Open this graph by opening the Memory Transaction Logging Configuration. Use the pull-down in the Trace Viewer to open this graph. Analyze This analyzer is not available for Cortex-M targets. The Logic Analyzer shows messages and events on a timeline. The labels on the y-axis identify the master name, domain, and class of each data set. The Type value determines which Event Source Name row holds the values for each record’s Data Message field. (Throughout this description of the Logic Analyzer, the Data value is used in place of Data Message if the Data Message field is empty). Within a row, the Data Message is graphed in each row vs. the time. See STM Statistics Graph for a description of the calculation for each event source. If Trace Analyzer knows the clock frequency, you can change the units on the x-axis to seconds. Rightclick on the view, and choose Display Properties. Choose the Axes category. Use the Display format and Unit fields to select the unit and format you want to display. If Trace Analyzer does not know the clock frequency, only ticks are supported. For example, the ETB receiver does not provide the clock frequency. The Msg value is mapped to the graph's Message presentation type. If you see a black "M" icon, hover your mouse over on the icon to see the corresponding data value of the Data Message field. • Events are mapped using the graph's Shape presentation type. By default, they are small circles with a color that corresponds to the event value in the Data Message field. • • • • States are plotted as a continuous line with a color for the state value in the Data Message field. Values are plotted as wide hexagons with the Data Message field value inside. Addresses are mapped to the Value presentation type and show address values in wide hexagons. Waveforms are plotted as a 0/1 digital step waveform based on the value of Data Message field. See Also • • • • • • • Section 4.2, Zoom (Graphs Only) Section 4.3, Measurement Markers (Graphs Only) Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 65 Trace Analyzer Views 3.4.18 www.ti.com STM Statistics Graph Open this graph by opening the Memory Transaction Logging Configuration. Use the pull-down in the Trace Viewer to open this graph. You can then use the analyzer. Analyze Views pull-down to open the Summary and Detail views available for this This analyzer is not available for Cortex-M targets. This graph shows various throughput and utilization statistics vs. milliseconds. Click on the legend to highlight a data set. The data sets plotted in this graph are: 66 • Bus throughput in MB per second. This is calculated by dividing the throughput counter by a sliding time window. • Bus throughput in MB per second for the bus selected in the advanced settings of the analysis configuration. This is calculated by dividing the throughput counter by a sliding time window. • Average access size in bytes per cycle. This is calculated by dividing the throughput counter by the number of accesses granted. • Bus utilization in millions of transactions per second. This is calculated by dividing the number of accesses granted by a sliding time window. • Bus contention as a percentage. This is calculated by dividing the accumulated wait time by a sliding time window. Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com • Trace Analyzer Views Minimum average latency in cycles per transaction. This is calculated by dividing the number of accessed granted. If Trace Analyzer knows the clock frequency, you can change the units on the x-axis of this graph to seconds. Right-click on the view, and choose Display Properties. Choose the Axes category. Use the Display format and Unit fields to select the unit and format you want to display. If Trace Analyzer does not know the clock frequency, only ticks are supported. For example, the ETB receiver does not provide the clock frequency. The graph view is shown by default. You can open summary and detailed tabular views from the STM Statistics views pull-down menu in the toolbar. See Also • • • • • • • 3.4.19 Section 4.1, Special Techniques in Trace Analyzers Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export Section 4.10, Column Settings and Display Properties PMI Analysis The Power Management Instrumentation (PMI) and Clock Management Instrumentation (CMI) modules provide state monitoring on a sample window basis. Open this graph by opening the Memory Transaction Logging Configuration. Use the pull-down in the Trace Viewer to open this graph. You can then use the Analyze Views pull-down to open the various views available for this analyzer. This configuration is available for OMAP targets only. The PMI Profile is shown by default. The PMI Profile shows the Power (PM) and Clock (CM1) state profiles. For each module, three kinds of data are shown: • • The percentage time spent in each state The distribution is shown in a bar chart SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 67 Trace Analyzer Views • www.ti.com A detailed statistics summary that includes the Count, Min, Max, Average, and Totals. This analyzer provides a number of ways to view this data. You can open the PMCM Scope, CM activity, OPP voltage, and Log views from the PMI Analyzer views pull-down menu in the toolbar. The CM Activity graph shows the CM activity ratio vs. time: 68 Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Trace Analyzer Views The PMCM Scope view provides a graphical view of the states of the modules vs. time: The OPP Voltage graph shows the OPP voltage in millivolts vs. time: SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 69 Trace Analyzer Views www.ti.com The PMI CMI Log provides a tabular view of the data collected by this analyzer: See Also • • • • • • • • • 70 Section 4.1, Special Techniques in Trace Analyzers Section 4.2, Zoom (Graphs Only) Section 4.3, Measurement Markers (Graphs Only) Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export Section 4.10, Column Settings and Display Properties Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 3.4.20 Trace Analyzer Views Data Variable Tracing This analyzer traces read and write accesses of a variable. This analyzer gets data from the CortexM3/M4 Data Watchpoint and Trace (DWT) source. It is available for Cortex-M targets only. It requires a connection through an XDS200 emulator and the SWO Trace transport type. You can open this analyzer by running the Data Variable Tracing Configuration. The Graph view opens by default. Use the Views pull-down to open the Detail view. This analyzer provides a graph showing a variable’s value vs. time. The variable’s values after each write access are shown in this graph. See the Trace Viewer for the actual variable values in the form of a table. The graph view is shown by default. You can open a detail view like the following from the Data Trace views pull-down menu in the toolbar. The variable’s values after each write access are shown in the detail view. See the Trace Viewer for both read and write accesses. SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 71 Trace Analyzer Views www.ti.com The columns in the Data Trace detail view are: • • • • Time. Time stamp in number of ticks from the start of the trace. • Value. New value of this variable at this point in the program execution. Access. Indicates whether the variable was read or written. Address. The address of the variable. Variable. Identifies the variable. If the variable name is unknown, the name is listed as "Variable 0". The Trace Viewer calls unknown variables "Comp0" (for hardware comparator). See Also • • • • • • • 3.4.21 Section 4.2, Zoom (Graphs Only) Section 4.3, Measurement Markers (Graphs Only) Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export Interrupt Analyzer This analyzer traces interrupt entries and exits and time spent in each interrupt. This analyzer uses the Cortex-M3/M4 Data Watchpoint and Trace (DWT) trace source, and is available for Cortex-M targets only. It requires a connection through an XDS200 emulator and the SWO Trace transport type. You can open this analyzer by running the Interrupt Profiling Configuration. The Graph and Summary views open by default. Use the Views pull-down to open the Detail view. The Graph view shows interrupt execution vs. time: Interrupts are identified by their interrupt number. Green bars indicate that an interrupt function was running. Red bars indicate that an interrupt was preempted by another interrupt function. You can expand the node for an interrupt to see separate rows for interrupt execution and preemption. 72 Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Trace Analyzer Views The Summary view shows statistics about the execution of each interrupt: The columns in the Summary view are as follows: • • • Name. The number of this interrupt. • Incl Count Max. The maximum number of ticks used to execute this interrupt function, including any time when the interrupt was preempted. • Incl Count Average. The average number of ticks used to execute this interrupt function, including any time when the interrupt was preempted. • Incl Count Total. The total number of ticks used to execute all runs of this interrupt function, including any time when the interrupt was preempted. • Excl Count Min. The minimum number of ticks used to execute this interrupt function, excluding any time when the interrupt was preempted. • Excl Count Max. The maximum number of ticks used to execute this interrupt function, excluding any time when the interrupt was preempted. • Excl Count Average. The average number of ticks used to execute this interrupt function, excluding any time when the interrupt was preempted. • Excl Count Total. The total number of ticks used to execute all runs of this interrupt function, excluding any time when the interrupt was preempted. Count. The number of times this interrupt was executed. Incl Count Min. The minimum number of ticks used to execute this interrupt function, including any time when the interrupt was preempted. The Detail view shows timing information for interrupt execution: SPRUHM7B—March 2014 Submit Documentation Feedback Configurations and Analyzers 73 Trace Analyzer Views www.ti.com The columns in the Detail view are as follows: • • Name. The number of this interrupt. • End Time. Time stamp in number of ticks from the start of the trace when this interrupt finished running. • Incl Count. Number of ticks between the start and end of the interrupt execution, including time when the interrupt was preempted. • Excl Count. Number of ticks between the start and end of the interrupt execution, excluding time when the interrupt was preempted. Start Time. Time stamp in number of ticks from the start of the trace when this interrupt was triggered. See Also • • • • • • • • 74 Section 4.1, Special Techniques in Trace Analyzers Section 4.2, Zoom (Graphs Only) Section 4.3, Measurement Markers (Graphs Only) Section 4.4, Bookmarks Section 4.5, Groups and Synchronous Scrolling Section 4.6, Find Section 4.7, Filter Section 4.8, Export Configurations and Analyzers SPRUHM7B—March 2014 Submit Documentation Feedback Chapter 4 Techniques for Using Views This chapter describes how to use the many tools provided by the trace analyzers. Topic 75 Page 4.1 Special Techniques in Trace Analyzers . . . . . . . . . . . . . . . . . . . . . . . 76 4.2 Zoom (Graphs Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.3 Measurement Markers (Graphs Only) . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.4 Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.5 Groups and Synchronous Scrolling . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.6 Find. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.7 Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.8 Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.9 Cursor and Scroll Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.10 Column Settings and Display Properties . . . . . . . . . . . . . . . . . . . . . . 83 Techniques for Using Views SPRUHM7B—March 2014 Submit Documentation Feedback Special Techniques in Trace Analyzers 4.1 www.ti.com Special Techniques in Trace Analyzers Trace Analyzer provides three types of data views for working with collected data. Each type of data view has some power techniques you can use to navigate, analyze, and find points of interest. The sections that follow provide help on using the special techniques available in these data views. • • • Table Views are used to display data in a table. Line Graphs are used for x/y plotting, mainly for viewing changes of a variable against time. DVT Graphs depict state transitions and events against time. Groups of related states form a timeline for a core or thread. Different types of data are assigned different colors. Special techniques provided for these view types are as follows: • Views pull-down lets you open additional views of this data. For example, you can open the Summary or Detail view from a Graph view. • Groups and Synchronous Scrolling causes several views to scroll so that data from the same time is shown. See Section 4.5. • • • • • • • • • • Measurement Markers (graphs only) measure distances in a graph. See Section 4.3. Bookmarks highlight certain rows and provide ways to quickly jump to marked rows. See Section 4.4. Zoom (graphs only) adjusts the scaling of the graph. See Section 4.2. Auto Fit (tables only) adjusts table column widths to display complete values. Find lets you search using a field value or expression. See Section 4.6. Filter lets you display only data that matches a pattern you specify using the Set Filter Expression dialog. See Section 4.7. Scroll Lock controls scrolling due to updates. See Section 4.9. Column Settings lets you control which columns are displayed and how they are shown. See Section 4.10. Tree Mode toggles between flat and tree mode on y-axis labels in the Execution Graph. Data > Export (in the right-click menu) sends selected data to a CSV file. See Section 4.8. Also see page 3–34 for additional descriptions of toolbar icons, including those shown only in the Trace Viewer. 76 Techniques for Using Views SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 4.2 Zoom (Graphs Only) Zoom (Graphs Only) Zooming is only available in graph views. You can zoom in or out on both the x- and y-axis in line graphs. For DVT graphs (like the Execution Graph), you can only zoom on the x-axis. You can zoom using any of these methods: Using the Mouse • • Hold down the Alt key and drag the mouse to select an area on the graph to expand. • Click on the x-axis legend area below the graph and use your mouse scroll wheel to zoom in or out. Drag the mouse to the left or below the graph where the axis units are shown (without holding the Alt key) to select a range to expand. Using the Keyboard • • Press Ctrl + to zoom in. Press Ctrl - to zoom out. Using the Toolbar • The Zoom In toolbar icon increases the graph resolution to provide more detail. It uses the zoom direction and zoom factor set in the pull-down. • The Zoom Out toolbar icon decreases the graph resolution to provide more detail. It uses the zoom direction and zoom factor set in the pull-down. • • The Reset Zoom toolbar icons resets the zoom level of the graph to the original zoom factor. The Select Zoom Options pull-down next to the Reset Zoom icon lets you select the zoom factor and directions of the zoom for a line graph. By default, zooming affects both the x- and y-axis and zooms by a factor of 2. You can choose options in this pull-down to apply zooming to only one axis or to zoom by factors of 4, 5, or 10. Note: 4.3 When you use the keyboard, scroll-wheel, or toolbar icons for zooming, the cursor position is used as the center for zooming. If there is no current cursor position, the center of the graph is used. To set a cursor position, click on the point of interest on the graph area. This places a red line or cross-hair on the graph, which is used for zooming. Measurement Markers (Graphs Only) Use the Measurement Marker Mode toolbar icon to add a measurement marker line to a graph. A measurement marker line identifies the data value at a location and allows you to measure the distance between multiple locations on a graph. Click the icon to switch to Measurement mode. Then, you see marker lines as you move the mouse around the graph. You can click on the graph to add a marker at that position. You stay in the "add marker" mode until you add a marker or click the Measurement Marker icon again. The legend area above the graph shows the X and Y values of markers. Right-click inside the graph to enable or disable the Legend from the shortcut menu. SPRUHM7B—March 2014 Submit Documentation Feedback Techniques for Using Views 77 Bookmarks www.ti.com If you create multiple measurement markers, the legend also shows the distance (or delta) between consecutive data points. For example, as: X2-X1 = 792 Y1-Y2 = 2.4 To add a marker, move the mouse to a location on the graph, right-click and select Insert Measurement Mark. To move a marker to a different location on the graph, hold down the Shift key and drag a marker to a new location. To remove a marker from the graph, right-click on the graph, select Remove Measurement Mark and click on an individual marker. Or, double-click on a measurement marker to remove it. To remove all the markers, right-click on the graph and select Remove All Measurement Marks. The pull-down menu to the right of the Measurement Marker icon allows you to select the following marker modes: 4.4 • • Freeform is the default mode, which lets you add a marker line at any point on the graph. • X-axis/Y-axis/Both determines whether placing a marker adds lines that intersect the x-axis, the yaxis, or both axes. Snap to Data forces you to add markers only at data points. When you move the mouse over the graph in this mode, you see circles on the four closest data points and a dot on the closest data point. Click on the graph to add a marker at the closest data point. Bookmarks Use the Bookmarks toolbar icon to create a bookmark on any data point of a graph or table. The bookmark will be displayed as a vertical red dashed line in a graph or a row with a red background in a table. You can use the pull-down next to the icon to jump to a previously created bookmark. Each bookmark is automatically assigned an ID string. A bookmarks applies only to the view in which you created it. Choose Manage the Bookmarks from the pull-down list to open a dialog that lets you rename or delete bookmarks. 78 Techniques for Using Views SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 4.5 Groups and Synchronous Scrolling Groups and Synchronous Scrolling You can group data views together based on common data such as time values. Grouped views are scrolled synchronously to let you easily navigate to interesting points. For example, if you run the Function Profiling configuration, the Trace Viewer and the Function Profiler View are automatically grouped together. If you click on a function execution in the graph, the Trace Viewer scrolls to the record for that cycle. To enable grouping, toggle on the View with Group icon on the toolbar. Then, simply move the cursor in a grouped table or on a graph as you normally would. You can use the pull-down menu to define multiple view groups. In graphs you can use the Align Horizontal Center and Align Horizontal Range icons to determine whether this view should be grouped according to the center value currently displayed on the x-axis or the full range of values displayed on the x-axis. 4.6 Find Click to open a dialog that lets you locate a record containing a particular string in one of the fields or a record whose fields satisfy a particular expression. Clicking Find repeatedly moves you through the data to each instance of the desired value or string. The Use Field tab is best for simple searches that compare a field value using common operators such as ==, Export All or Data > Export Selected from the right-click menu. 4. In the Save As dialog, browse for the location where you want to save the file and type a filename. Click Save. 5. Open the file you created using a spreadsheet or other software program. Alternately, you can later reopen the CSV file in a Trace Analyzer session as described in Section 2.7.3. 4.9 Cursor and Scroll Lock Data views scroll to the end whenever new data is received. If you click on a point in a graph or table while data is updating, automatic scrolling is stopped, even though data is still being added at to the end. To continue scrolling to the end automatically, toggle off the Note that if you have enabled grouping (the scrolling of grouped views. Scroll Lock button on the toolbar. icon is toggled on), the scroll lock icon does not lock the Use the Freeze Update command in the right-click menu to freeze the data updates and automatic refreshing completely. 4.10 Column Settings and Display Properties Right-click on the Trace Viewer or a tabular view and choose Column Settings. You can choose which columns to make visible in the table by checking boxes for those fields. For most views, you can choose how each column should be formatted (for example, as binary, decimal, hex, or time), how to justify (align) the column, the font for the column, and whether to display a vertical bar corresponding to the size of the value. Right-click on a Trace Analyzer graph view and choose Display Properties. For DVT graphs, such as the Function Execution Graph (but not line graphs, such as the Program Address vs. Cycle Graph), you can choose which channels (rows or data sets) to make visible in the graph by checking boxes for those fields. For all types of graphs, Display Properties provides various ways to control how a graph is displayed. SPRUHM7B—March 2014 Submit Documentation Feedback Techniques for Using Views 83 Chapter 5 JavaScript APIs for Debug Server Scripting This chapter provides API reference material for use in writing JavaScript code for Debug Server Scripting (DSS) that runs Trace Analyzer configurations and exports the data to a CSV file. Topic Page 5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.2 ScriptAnalysisSession Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.3 ScriptAnalysisSession Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.4 Method Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.5 Method Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 SPRUHM7B—March 2014 Submit Documentation Feedback JavaScript APIs for Debug Server Scripting 84 www.ti.com 5.1 Overview Overview Debug Server Scripting (DSS) is a set of cross-platform APIs that access the CCS Debug Server. These APIs allow scripting with Java or a scripting language such as JavaScript (via Rhino), Perl, Python, and TCL. JavaScript is the preferred scripting language for use with DSS. Such scripting is run outside the full CCS GUI environment. DSS is divided into two main API categories—Debug Server (DS) and DVT (Data Visualization Toolkit). You use the DS APIs to start a debugging session and connect to the target. Trace Analyzer is part of the DVT category, which provides APIs for formatting and exporting collected profiling data. Trace Analyzer provides APIs that allow trace data to be collected, analyzed with DSS, and stored in a CSV file. General reference documentation for DSS is provided within the CCS installation in the …\ccsv5\ccs_base\scripting\doc directory. For details, see the Debug Server Scripting wiki page. Packages to Import: To use JavaScript with DSS, your script will first need to import the packages provided with CCS that will be used in the script. For example: importPackage(Packages.com.ti.debug.engine.scripting) importPackage(Packages.com.ti.ccstudio.scripting.environment) importPackage(Packages.com.ti.dvt.engine.scripting) importPackage(Packages.com.ti.dvt.analysis.traceviewer.activity) Standard packages such as the following will likely also be needed: importPackage(Packages.java.lang) importPackage(Packages.java.io) importPackage(Packages.java.util) Typical Session Steps: A typical simple analysis session involves the following steps performed with JavaScript after you set up the target and debugger: 1. Open a session. 2. Run a pre-defined trace analysis configuration. 3. Export data to CSV file(s). 4. Close the session. Example: analysisSession = dvtServer.openAnalysisSession(); analysis = analysisSession.runAnalysis("My PC Trace"); debugSession.target.run(); debugSession.target.halt(); Sleep(10000); analysisSession.exportDataToCSV("TraceViewer#0/Trace Viewer", "c:/PCTrace.csv", null); analysisSession.endAnalysis(analysis); Example JavaScript files are provided within the CCS installation in the …\ccsv5\ccs_base\scripting\examples\DVTExamples directory. The PC_Trace.js file contains code similar to the previous code snippet. SPRUHM7B—March 2014 Submit Documentation Feedback JavaScript APIs for Debug Server Scripting 85 ScriptAnalysisSession Class 5.2 www.ti.com ScriptAnalysisSession Class ScriptAnalysisSession is a wrapper class for scripting AFF. Inheritance: public class ScriptAnalysisSession • extends ScriptSession, which — extends java.lang.Object • • implements java.beans.ExceptionListener package path: com.ti.dvt.engine.scripting.ScriptAnalysisSession Nested Class: static class ScriptAnalysisSession.ScriptAnalysis Typical Usage: analysis = analysisSession.loadAnalysis("_analysisName_"); analysisSession.setAnalysisProperty(analysis, "_propertyName_", value); ... analysisSession.setAnalysisProperty(analysis, "_propertyName_", value); analysisSession.runAnalysis(analysis); ... analysisSession.exportDataToCSV("_dataTableName_", "_fileName_", "_listOfFields_"); analysisSession.endAnalysis(analysis); 5.3 ScriptAnalysisSession Constructor public ScriptAnalysisSession(ScriptingEnvironment env, ScriptServer server) Parameters: env - The scripting environment returned by ScriptingEnvironment.instance(). server - The debug server returned by ScriptingEnvironment.getServer() Throws: ScriptingException 86 JavaScript APIs for Debug Server Scripting SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 5.4 Method Summary Method Summary Methods Implemented by ScriptAnalysisSession Class void endAnalysis(ScriptAnalysisSession.ScriptAnalysis analysis) End and unload an analysis. See endAnalysis(). void exceptionThrown(java.lang.Exception e) See exceptionThrown(). void exportDataToCSV(java.lang.String fileName) Export all data tables to CSV files. See exportDataToCSV() -- All Data Tables. void exportDataToCSV(java.lang.String dataTable, java.lang.String fileName, java.lang.String fields) Export specified data table to a CSV file. See exportDataToCSV() -- Specified Data Table. void exportDataToCSV(java.lang.String dataTable, java.lang.String fileName, java.lang.String fields, int start, int length) Export specified data table with range to CSV file. See exportDataToCSV() -- Specified Data Table with Range. java.util.ArrayList getAnalysisList() Get a list of available analysis. See getAnalysisList(). com.ti.dvt.datamodel.core.Buffer getBufferByName(java.lang.String name) Get the named DVT Buffer object. See getBufferByName(). java.util.ArrayList getDataSet() Get the analysis' generated data set, a list of data table names. See getDataSet(). java.lang.String getName() Get the name of this analysis session. See getName(). void importAnalysis(java.lang.String zipFile) Import an analysis into current installation. See importAnalysis(). ScriptAnalysisSession.ScriptAnalysis loadAnalysis(java.lang.String analysisName) Load an analysis into current analysis session. See loadAnalysis(). SPRUHM7B—March 2014 Submit Documentation Feedback JavaScript APIs for Debug Server Scripting 87 Method Summary www.ti.com void runAnalysis(ScriptAnalysisSession.ScriptAnalysis analysis) Run a loaded analysis by object. See runAnalysis() -- Run by Object. ScriptAnalysisSession.ScriptAnalysis runAnalysis(java.lang.String analysisName) Load and run an analysis by name, use all default properties. See runAnalysis() -- Run by Name. void runAnalyzer(ScriptAnalysisSession.ScriptAnalysis analysis, java.lang.String name, java.lang.String buffer) Run an analysis feature on top of an analysis. See runAnalyzer(). void setAnalysisProperty(ScriptAnalysisSession.ScriptAnalysis analysis, java.lang.String property, java.lang.Object value) Set analysis property. See setAnalysisProperty(). void terminate() Terminate this analysis session. See terminate(). Methods Inherited from java.lang.Object Class • • • • • • • 88 equals getClass hashCode notify notifyAll toString wait JavaScript APIs for Debug Server Scripting SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 5.5 Method Details Method Details ScriptAnalysisSession implements the following classes. 5.5.1 endAnalysis() End and unload an analysis. endAnalysis(ScriptAnalysisSession.ScriptAnalysis analysis) Parameters: analysis - The analysis object. Returns: void Throws: ScriptingException Example: analysisSession.endAnalysis(analysis); 5.5.2 exceptionThrown() Specified by exception. exceptionThrown(java.lang.Exception e) Parameters: e - The exception. Returns: void Thrown in: java.beans.ExceptionListener SPRUHM7B—March 2014 Submit Documentation Feedback JavaScript APIs for Debug Server Scripting 89 Method Details 5.5.3 www.ti.com exportDataToCSV() -- All Data Tables Export all data tables to CSV files. If more than one data tables available, the table name will be inserted in the file name. exportDataToCSV(java.lang.String fileName) Parameters: fileName - The full path file name to be saved. Returns: void Throws: java.io.IOException ScriptingException 5.5.4 exportDataToCSV() -- Specified Data Table Export specified data table to a CSV file. exportDataToCSV(java.lang.String dataTable, java.lang.String fileName, java.lang.String fields) Parameters: dataTable - The data source table. fileName - The CSV file name. Null = use dataTable name. fields - A list of fields (columns) to export, separated by ',', ':' or ';'. Null = All. Returns: void Throws: java.io.IOException ScriptingException 90 JavaScript APIs for Debug Server Scripting SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com Method Details Examples: analysisSession.exportDataToCSV("TraceViewer#0/Trace Viewer", cwd + "/" + "C66_0_PCTrace.csv", null); _mainLog = "TraceViewer#0/Trace Viewer"; _csvFile = _cwd + "/" + "TraceFile.csv"; _filter1 = "Cycle, Program Address"; analysisSession.exportDataToCSV(_mainLog, _csvFile, _filter1); _traceLog = "TraceViewer#0/Trace Viewer"; _csvFileTrace = _cwd + "/" + "TraceMemoryThroughput_Trace.csv"; analysisSession.exportDataToCSV(_traceLog, _csvFileTrace, null); _profileSummary = "MemoryThroughput#0/MemoryThroughput"; _csvFileProfile = _cwd + "/" + "TraceMemoryThroughput_Graph.csv"; analysisSession.exportDataToCSV(_profileSummary, _csvFileProfile, null); 5.5.5 exportDataToCSV() -- Specified Data Table with Range Export specified data table with range to CSV file. exportDataToCSV(java.lang.String dataTable, java.lang.String fileName, java.lang.String fields, int start, int length) Parameters: dataTable - The data source table. fileName - The CSV file name. Null = use dataTable name. fields - A list of fields (columns) to export, separated by ',', ':' or ';'. Null = All. start - The start index of export range. length - The export range length. Returns: void Throws: java.io.IOException ScriptingException SPRUHM7B—March 2014 Submit Documentation Feedback JavaScript APIs for Debug Server Scripting 91 Method Details 5.5.6 www.ti.com getAnalysisList() Get a list of available analyses. java.util.ArrayList getAnalysisList() Parameters: none Returns: A list of analyses. Throws: ScriptingException 5.5.7 getBufferByName() Get the named DVT Buffer object. com.ti.dvt.datamodel.core.Buffer getBufferByName(java.lang.String name) Parameters: name - Name of buffer. Returns: DVT buffer or null. Throws: none 5.5.8 getDataSet() Get the analysis' generated data set, a list of data table names. java.util.ArrayList getDataSet() Parameters: none Returns: A list of available data tables. Throws: ScriptingException Example: buffs = analysisSession.getDataSet(); 92 JavaScript APIs for Debug Server Scripting SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 5.5.9 Method Details getName() Get the name of this analysis session. java.lang.String getName() Parameters: none Returns: Analysis session name. Throws: ScriptingException 5.5.10 importAnalysis() Import an analysis into current installation. Once imported, the analysis can be use as other factory prepared ones. importAnalysis(java.lang.String zipFile) Parameters: zipFile - ZIP file name. Returns: void Throws: ScriptingException 5.5.11 loadAnalysis() Load an analysis into current analysis session. The returned object can be used as handle for property setting. ScriptAnalysisSession.ScriptAnalysis loadAnalysis(java.lang.String analysisName) Parameters: analysisName - analysis name. Returns: The created analysis object. Throws: ScriptingException Example: analysis = analysisSession.loadAnalysis("PC Trace"); SPRUHM7B—March 2014 Submit Documentation Feedback JavaScript APIs for Debug Server Scripting 93 Method Details 5.5.12 www.ti.com runAnalysis() -- Run by Object Run a loaded analysis by object. See loadAnalysis(). runAnalysis(ScriptAnalysisSession.ScriptAnalysis analysis) Parameters: analysis - The loaded analysis. Returns: void Throws: ScriptingException Example: analysis = analysisSession.loadAnalysis("PC Trace"); ... analysisSession.runAnalysis(analysis); 5.5.13 runAnalysis() -- Run by Name Load and run an analysis by name, use all default properties. ScriptAnalysisSession.ScriptAnalysis runAnalysis(java.lang.String analysisName) Parameters: analysisName - analysis name. Returns: The created analysis object. Throws: ScriptingException 94 JavaScript APIs for Debug Server Scripting SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com 5.5.14 Method Details runAnalyzer() Run an analysis feature on top of an analysis. runAnalyzer(ScriptAnalysisSession.ScriptAnalysis analysis, java.lang.String name, java.lang.String buffer) Parameters: analysis - The analysis object. name - The name of analyzer to be applied. buffer - The name of data buffer. Null means use the default. Returns: void Throws: ScriptingException Example: _mainLog = "TraceViewer#0/Trace Viewer"; analysisSession.runAnalyzer(_analysis, "Function Profiler", _mainLog); 5.5.15 setAnalysisProperty() Set analysis property. setAnalysisProperty(ScriptAnalysisSession.ScriptAnalysis analysis, java.lang.String property, java.lang.Object value) Parameters: analysis - The analysis object obtained from loadAnalysis(). property - The property name. value - The property value. Returns: void Throws: ScriptingException Examples: analysisSession.setAnalysisProperty(analysis, "cpu", dsC66_0.getName()); analysisSession.setAnalysisProperty(analysis, "receiver", "ETB"); SPRUHM7B—March 2014 Submit Documentation Feedback JavaScript APIs for Debug Server Scripting 95 Method Details 5.5.16 www.ti.com terminate() Terminate this analysis session. terminate() Parameters: none Returns: void Throws: ScriptingException 96 JavaScript APIs for Debug Server Scripting SPRUHM7B—March 2014 Submit Documentation Feedback Appendix A SPRUHM7B—March 2014 Revision History Table A–1 lists significant changes made since the previous version of this document. Table A–1. Revision History Chapter Location Preface Additions/Modifications/Deletions This document applies to CCS software version 6.0. Using Trace Analyzer Section 2.7.4 You can open a binary trace file saved from the raw binary data in target memory. Using Trace Analyzer Section 2.8 Importing, exporting, and deleting user configuration has been moved to a submenu in the Tools > Hardware Trace Analyzer menu. Configurations and Analyzers Section 3.2 Configurations and Analyzers Section 3.2 The status line below views shows any warning messages and whether the data collected has any gaps or data errors. Configurations and Analyzers Section 3.3.1 The Exclusive Function Profiler has been changed to the Function Profiler and you can configure it to perform Inclusive, Exclusive, or Callee tracing. Configurations and Analyzers Section 3.3.1 The Function Profiling Configuration allows you to specify the Target OS, whether you want to show TI libraries, and the profile level. Configurations and Analyzers Section 3.3.3 Section 3.3.4 Section 3.3.5 The trace range options have been added to the Stall Profiling, Cache Analysis, and Code Coverage configurations. Configurations and Analyzers Section 3.3.5 The Code Coverage Configuration allows you to specify whether you want to show TI libraries and enable the Instruction Coverage view. Configurations and Analyzers Section 3.3.7 A Memory Transaction Logging Configuration has been added. Configurations and Analyzers Section 3.4.1 The columns and display in the Function Profiler Summary view have been improved. Configurations and Analyzers Section 3.4.2 Section 3.4.3 Details and Per Call views have been added for the Function Profiler. Configurations and Analyzers Section 3.4.6 Code Coverage profiling is now based on the percentage of instructions covered in order to provide support for optimized code coverage. Configurations and Analyzers Section 3.4.8 A Code Coverage: File Coverage view has been added. Configurations and Analyzers Section 3.4.9 A Code Coverage: Instruction Coverage view has been added. Configurations and Analyzers Section 3.4.20 The type of access, the address, and the variable name are shown in the Data Trace Detail view. Configurations and Analyzers Section 4.1 Pull-down View lists in analyzers now use the SPRUHM7B—March 2014 Submit Documentation Feedback Pull-down Analyzer lists in the Trace Viewer now use the icon. icon. Revision History 97 Index 560 V2 Trace transport 16 A C absolute timestamp 12 access size 66 address graph 53 Advanced Properties dialog 18 Advanced Settings button 18 AM335x 9 analysis configuration, trace closing 18 definition 12 exporting 28 importing 28 modifying 16 opening 19 provided 11 running 15 saving 28 Analysis Dashboard 31 analysis feature see analyzers 12 Analysis Properties command 20, 34 analysis views see analyzers 19 Analyze menu 34, 35 analyzers, trace closing 18 list of 48 opening 19, 48 using 20 APIs for trace 84, 85 assembly, viewing routine pseudonames Auto Fit Columns command 35 C6670 9 C6678 9 Cache Analysis configuration 40 Cache Event Profiler 59 cache miss 43 calculations System trace 66 Calls column 49 CCS definition 12 requirements 9 Channel Number column 34 circular buffering 12 Class column 34 Clock Management Instrumentation (CMI) CMI analysis 44 Code column 32 Code Coverage Function Coverage analyzer 54 Line Coverage analyzer 56, 57, 58 Code Coverage configuration 38, 41 Column Settings analyzers 76 command 35, 83 Trace Viewer 32 COM Port field 17 concurrent trace sessions 10 configuration, trace analysis closing 18 exporting 28 importing 28 modifying 16 provided 11, 36 running 15, 28 saving 28 user defined 28 Copy command 35 core definition 12 selecting multiple 10, 15 Cortex-M3 9 Cortex-M4 9 Coverage column 57, 58 CP_tracer bus cycles 63 CPU cycles 49, 51 CPU Trace 10 CSV file 10, 24 concurrent sessions 10 copying to clipboard 28 B BIN file 10 binary trace data file 10 Binary trace file 24 Bookmark Mode command bookmarks 34, 78 Buffer Size field 17, 20 Buffer Type field 17, 20 bus contention 66 bus cycles 63 bus utilization 66 78 SPRUHM7B—March 2014 Submit Documentation Feedback 29 44 Index 98 www.ti.com exporting 35, 83 information stored 24 opening 26 saving 25 scripting outside CCS 84 Custom Core Trace configuration 47 Custom System Trace configuration 47 Cycle column 32 D Dashboard, Analysis 31 Data Collection settings 18 data collection, trace 20 Data column 34 Data Export command 35 Data field 65 Data Message column 34, 65 data sources 10 Data Trace view 71 configuration 45 Data Variable Tracing view 71 Data Visualization Toolkit (DVT) 85 Data Watchpoint and Trace (DWT) 12 Debug Server Scripting (DSS) 85 definitions 12 Delta Cycles column 32 Delta Time column 34 delta timestamp 12 diagnostics, trace data 29 Disassembly column 32 Display Properties command 52, 83 DMA conflicts 39 Domain column 34 DVT APIs 85 definition 12 graph views 76 E Embedded Trace Buffer (ETB) 9 definition 12 remote buffer 17 emulator 9 Enable Grouping command 34, 35 Encoding Type field 17 End Address column 32 End Address field 37, 40 endAnalysis() method 89 ETB Remote Memory transport 16 ETB trace 9 concurrent sessions 11 setting 16 EVE Analysis graph 64 Event trace 10 exceptionThrown() method 89 exclusive cycles 12 execution graph, trace 52 Export Data command 25, 35, 83 Export Data dialog 25 SPRUHM7B—March 2014 Submit Documentation Feedback exportDataToCSV() method External Event column 32 90, 91 F file CSV 10 opening CSV file 26 trace data file 10 Filename column 32, 54, 57, 58, 60, 61 Filter command 35, 81 Find command 35, 79 Freeze Update command 21, 35 Function column 32, 49, 54, 57, 58, 60 Function Coverage analyzer 54 Function Execution graph 52 Function Percentage column 60 Function Profiler 49, 50, 51 Function Profiling configuration 37 G getAnalysisList() method 92 getBufferByName() method 92 getDataSet() method 92 getName() method 93 glossary 12 Groups command 35, 79 H hardware interrupt profiling 72 Hardware Trace Analyzer menu 11, 16 Highlight covered lines field 42 host definition 12 requirements 9 I icons Analysis Dashboard 31 Trace Analysis Configuration dialogs 18 Trace Viewer 34 views 76 importAnalysis() method 93 inclusive cycles 12 Insert a Bookmark command 35 Insert Measurement Mark command 52 Inst exec count column 57 interrupt profiling 45, 72 Interrupt Profiling view 72 ISR profiling 72 IVAHD Analyzer 64 J JavaScript scripting 84 Index 99 www.ti.com JTAG definition Trace Analyzer P K KeyStone multicore DSP family 9 L L1D read miss stall 39, 61 L1D write buffer full stall 39 L1P miss stall 39, 61 latency graph 63 Line Coverage analyzer 56, 57, 58 Line Number column 33, 57, 58 live analysis 10 concurrent sessions 10 Load Address column 33 loadAnalysis() method 93 Logic Analyzer graph 65 M MADU definition 12 Manage the Bookmarks command 34 Marker Mode icon 77 Master ID column 34 Master Name column 34 measurement markers 77 Memory Event column 33 Memory Throughput Analysis configuration 43 Memory Throughput graph 62 Memory Transaction Logging configuration 43 Merge coverage statistics field 42 Micro Secs column 33, 34 Milli Secs column 33, 34 Minimum Average Latency graph 63 Module column 34 multicore ETB trace 11 Pro Trace 10 selecting core to trace 15 target devices 9 N Nano Secs column 33, 34 Number of Pins field 17 O OMAP3 9 OMAP4 9 OMAP5 9 Open File command 26 overlay source code 23 overview 100 8 12 Index PC (program counter) 12 PC Trace 10 PC Trace configuration 46 Percentage column 54 pipeline stall 12 analysis configuration 39 per function 49, 51 PMI Analysis 44, 67 Power and Clock Analysis configuration 44 Power Management Instrumentation (PMI) 44 Preferences dialog Trace Viewer settings 29 Pro Trace 9 setting 16 target configuration file 15 program address 12 Program Address column 33 Program Address vs. Cycle graph 53 program counter 12 R Read Address column 33 Read Data column 33 Read Size In Bits column 33 real-time behavior 10 Receiver Status column 34 Receiver/Transport settings 16 regular expression 80 relative timestamp 13 reload program 21 requirements 9 Resume trace collection 21 Resume Update command 35 Row Count command 35 runAnalysis() method 94 runAnalyzer() method 95 S Sampling Interval field 39 scaling graph 77 ScriptAnalysisSession class 86 Scroll Lock command 21, 35 scrolling 83 synchronously 79 Secs column 33, 34 Select Overlay command 23 Serial Wire Output (SWO) 13 session managing 21 Set Program File command 22 Set Source File Search Paths command setAnalysisProperty() method 95 Source Code Tracking command 23 source code, viewing 22 23 SPRUHM7B—March 2014 Submit Documentation Feedback www.ti.com preferences 29 search path 23 Source column 33 spreadsheet, further analysis 83 Stall Cycle Profiler 61 Stall Event Names column 33 Stall Profiling configuration 39 stall, pipeline 12 Standard trace 10 Start Address column 33 Start Address field 37, 40 Start trace collection command 21 statistical analysis 35 Statistical Function Profiler 60 STM Statistics graph 66 STM trace 10 Stop trace collection 21 SWO Trace transport 16 Symbol Address column 33 Synchronize trace collection with target run and halt synchronizing views 79 SYS/BIOS definition 13 System trace 10 System Trace Module (STM) 10 T table views 76 target definition 13 target configuration file 15 Target OS function profiling 38 Target State Descriptor (Register) column tasks Trace Analyzer 14 TDF file 10, 24 definition 13 terminate() method 96 terminology 12 throughput calculations 66 Time column 34 Time field 72 Times Encountered column 60 timestamp absolute 12 delta 12 relative 13 TMS320C6670 9 TMS320C6678 9 toolbar icons Analysis Dashboard 31 Trace Viewer 34 views 76 Trace Analyzer definition 12 trace buffer size 9 trace data file 10, 24 SPRUHM7B—March 2014 Submit Documentation Feedback concurrent sessions 10 information stored 24 opening 26 saving 24 Trace Range field 37, 40 trace receiver 9 Trace Status column 33, 34 Trace Viewer 32 closing 18 data columns 32 preferences 29 right-click menu 35 source code viewing 22 toolbar icons 34 Trace Viewer command 35 Transaction Filter field 43, 44, 45 Transport Type field 16 17, 20 U user configuration 28 deleting 28 exporting 28 importing 28 running 28 saving 28 V 33 Variable field 72 variable tracing 45, 71 View Source Code command views see analyzers 19 views, types 76 23 W wiki pages 13 Write Address column 33 Write Buffer Full Stall 61 Write Data column 33 Write Size In Bits column 33 WriteData field 72 X XDS200 emulator 9 XDS560T Status column 33 XDS560v2 Pro Trace 9 concurrent sessions 10 target configuration file 15 Z zooming 77 Index 101 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its semiconductor products and services per JESD46C and to discontinue any product or service per JESD48B. Buyers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All semiconductor products are sold subject to TI's terms and conditions of sale supplied at the time of order acknowledgment. TI warrants performance of its components to the specifications applicable at the time of sale, in accordance with the warranty in TI’s terms and conditions of sale of semiconductor products. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by applicable law, testing of all parameters of each component is not necessarily performed. TI assumes no liability for applications assistance or the design of Buyers’ products. Buyers are responsible for their products and applications using TI components. To minimize the risks associated with Buyers’ products and applications, Buyers should provide adequate design and operating safeguards. TI does not warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property right relating to any combination, machine, or process in which TI components or services are used. Information published by TI regarding third-party products or services does not constitute a license to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI. Reproduction of significant portions of TI information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. TI is not responsible or liable for such altered documentation. Information of third parties may be subject to additional restrictions. Resale of TI components or services with statements different from or beyond the parameters stated by TI for that component or service voids all express and any implied warranties for the associated TI component or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements. Buyer acknowledges and agrees that it is solely responsible for compliance with all legal, regulatory and safety-related requirements concerning its products, and any use of TI components in its applications, notwithstanding any applications-related information or support that may be provided by TI. Buyer represents and agrees that it has all the necessary expertise to create and implement safeguards which anticipate dangerous consequences of failures, monitor failures and their consequences, lessen the likelihood of failures that might cause harm and take appropriate remedial actions. Buyer will fully indemnify TI and its representatives against any damages arising out of the use of any TI components in safety-critical applications. In some cases, TI components may be promoted specifically to facilitate safety-related applications. With such components, TI’s goal is to help enable customers to design and create their own end-product solutions that meet applicable functional safety standards and requirements. Nonetheless, such components are subject to these terms. No TI components are authorized for use in FDA Class III (or similar life-critical medical equipment) unless authorized officers of the parties have executed a special agreement specifically governing such use. Only those TI components which TI has specifically designated as military grade or “enhanced plastic” are designed and intended for use in military/aerospace applications or environments. Buyer acknowledges and agrees that any military or aerospace use of TI components which have not been so designated is solely at the Buyer's risk, and that Buyer is solely responsible for compliance with all legal and regulatory requirements in connection with such use. TI has specifically designated certain components which meet ISO/TS16949 requirements, mainly for automotive use. Components which have not been so designated are neither designed nor intended for automotive use; and TI will not be responsible for any failure of such components to meet such requirements. Products Applications Audio Amplifiers www.ti.com/audio amplifier.ti.com Automotive and Transportation Communications and Telecom www.ti.com/automotive www.ti.com/communications Data Converters DLP® Products dataconverter.ti.com www.dlp.com Computers and Peripherals Consumer Electronics www.ti.com/computers www.ti.com/consumer-apps DSP Clocks and Timers dsp.ti.com www.ti.com/clocks Energy and Lighting Industrial www.ti.com/energy www.ti.com/industrial Interface Logic interface.ti.com logic.ti.com Medical Security www.ti.com/medical www.ti.com/security Power Mgmt Microcontrollers power.ti.com microcontroller.ti.com Space, Avionics and Defense Video & Imaging www.ti.com/space-avionics-defense www.ti.com/video TI E2E Community e2e.ti.com RFID www.ti-rfid.com OMAP Mobile Processors www.ti.com/omap Wireless Connectivity www.ti.com/wirelessconnectivity Mailing Address: Texas Instruments, Post Office Box 655303 Dallas, Texas 75265 Copyright © 2014, Texas Instruments Incorporated
TMDSEMUPROTRACE
物料型号:NCP1650

器件简介:NCP1650是一款由ON Semiconductor生产的LDO(低压差线性稳压器),具有低静态电流、低噪声、高稳定性等特点,适用于电池供电设备。

引脚分配:NCP1650共有5个引脚,分别为输入端(IN)、地(GND)、使能(EN)、调整(ADJ)和输出(OUT)。

参数特性:输入电压范围2.5V至6V,输出电压可调范围从0.8V至5.5V,最大输出电流300mA,静态电流小于1uA。

功能详解:NCP1650具有输出电压跟踪功能,能够在电池电压下降时自动降低输出电压以延长电池寿命。同时具备过温保护功能,保护电路免受过热损害。

应用信息:NCP1650广泛应用于移动设备、便携式电子设备、电池供电设备等低功耗场合。
TMDSEMUPROTRACE 价格&库存

很抱歉,暂时无法提供与“TMDSEMUPROTRACE”相匹配的价格&库存,您可以联系我们找货

免费人工找货