µVision4 User's Guide

Technical Support

On-Line Manuals

µVision4 User's Guide

About µVision User Interface Creating Applications Utilities Debugging Using the Debugger Simulation Start Debugging Application Program Execution Debug Windows and Dialogs Breakpoints Window Call Stack and Locals Window Code Coverage Command Window Disassembly Window Event Viewer Execution Profiler Instruction Trace Window Logic Analyzer Setup Setup in Detail Restrictions Using the Logic Analyzer Memory Map Memory Window Performance Analyzer Registers Window Serial Window Symbols Window System Viewer Adding System Viewer Windows Toolbox Trace Data Window Trace Navigation Watch Window Expressions Constants System Variables Peripheral Variables I/O Ports Serial Ports Program Variables (Symbols) Fully Qualified Symbols Non-Qualified Symbols Literal Symbols Using Symbols Line Numbers Bit Addresses Type Specifications Operators Memory Type Specifiers Differences Between µVision4 and C Expression Examples Tips and Tricks Review Peripherals and CPU Configuration Simulate I/O Ports Simulate Interrupts and Clock Inputs Simulate external I/O Devices Assign Serial I/O to a PC COM Port Check Illegal Memory Access Command Input from File Preset I/O Ports or Memory Contents Write Debug Output to a File Keyboard Shortcuts TPIU Initialization after RESET (Cortex-M) Debug Commands Debug Functions Simulation Flash Programming Dialogs Example Programs Command Line Appendix

Performance Analyzer

Performance Analyzer Button The Performance Analyzer shows execution statistics, like time and number of calls of a function or module.

Performance Analyzer for ARM Architectures

For ARM processor-based devices, statistics are collected for the complete program code. The Performance Analyzer displays the information collected by the Execution Profiler for known address ranges. This means, the list does not include information for address ranges without debug information, such as the floating point library of the ARM RealView toolset.

Results are displayed as bar graphs, along with call and time information. The list sorts itself automatically after a few seconds. Thus, the most time consuming modules or functions are displayed at the top of the list.

Performance Analyzer Example Display

A context menu can be invoked by clicking the right mouse button. This menu offers the possibility to switch between the modules/functions representation of the statistics. Also, the collected statistics can be cleared from here.

Double-click a function name to jump right to the code of that function.

LabelDescription
ResetButton that clears recorded statistics.
Show: drop-down listSelector to display statistics grouped by modules or functions.
Module/FunctionThe name of the module or function.
CallsThe number of calls to a function.
Time(Sec)The total time spent in the address range of the function or module.
Time(%)The percent of the total time spent in the selected address range or function.

Performance Analyzer for 8051, 251, or 166 Architectures

For the 8051, 251, or 166 architectures, the Performance Analyzer has to be configured using the Setup... button or the PA command in the Command Window. Specify the functions or address ranges for recording data.

Performance Analyzer

Results are displayed as bar graphs. Statistics, such as invocation count, minimum time, maximum time, and average time, are displayed for the specified function or address range.

The <unspecified> address range is generated automatically. It shows the time spent executing code that is not included in the specified functions or address ranges.

LabelDescription
min timeThe minimum time spent in the selected address range or function.
max timeThe maximum time spent in the selected address range or function.
avg timeThe average time spent in the selected address range or function.
total timeThe total time spent in the selected address range or function.
%The percent of the total time spent in the selected address range or function.
countThe total number of times the selected address range or function was executed.