|
The ARM Profiler, part of RealView® Development Suite 4.0 Professional, is a unique product that enables non-intrusive analysis of embedded software performance
for virtually unlimited periods of time, while running at operational frequencies of up to 450 MHz. This means that the ARM
Profiler can analyze device software that is processing a real work load for as long as is needed, be that minutes, hours
or even days.
The ARM Profiler combines an intuitive user interface with analysis of software performance on hardware and fast models. This
enables performance analysis to become an integral part of every embedded software developer’s day-to-day job. This greatly
reduces the software project risks, which enables on-time and on-target project delivery.
New in RealView Development Suite 4.0 Professional:
Profile software running on Symbian OS
The ARM Profiler for Symbian OS™ brings unrivalled insight into embedded device software performance to smartphones running
Symbian OS. Based on ARM’s comprehensive CoreSight™ debug and Trace infrastructure , the ARM Profiler provides the unique ability to analyze software performance on a complex system for unlimited durations
without the need for modification to the application or the system. This allows smartphone developers to deliver unparalleled
performance while dramatically reducing memory and power requirements.
Profile-Driven Compilation
By analysing runtime performance, the ARM Compiler in RealView Development Suite 4.0 Professional used in conjunction with
the ARM Profiler can perform automatic optimisations based on application performance. Users are seeing improvements in performance
(6% faster) and size (40% smaller) without any additional effort.
Trace Replay
The ARM Profiler now provides the ability to collect and store large amounts of program trace and the ability to explore that
trace within the same view as code and disassembly. Setting breakpoints and running or stepping backwards and forwards through
the instruction trace allows users to gain a much deeper understanding of their application's performance and therefore determine
exactly where their optimization efforts should be focused.
 The profiling and optimization process
Long duration profiling
The ARM Profiler provides the ability to analyze embedded software performance with virtually no limit on the analysis period.
This enables analysis of real world use cases to get a thorough insight into the software performance. As there is no longer
a need to shorten the use case to suit the tools, key performance issues that only occur after a longer period of operation
can be detected.
Non-intrusive profiling of fully optimized code
The ARM Profiler runs its performance analysis without any intrusion on the behaviour of the embedded system and supports
the analysis of fully optimized software. This enables the analysis of production software that is identical to that which
is shipped as part of the end product. There is also no chance that the analysis impacts the results, which makes it easier
to identify real bottlenecks in the software. This also provides assurance that the end product will function in the field
as measured in the lab.
Statement and branch coverage information
The ARM Profiler provides both statement and branch coverage information, which is derived from instruction coverage information.
This offers a quantitative insight into the quality level of embedded software through an understanding of the effectiveness
of the testing. The ARM Profiler fits into standard validation practices through its ability to combine multiple analysis
runs into one report.
 Statement and branch coverage information
The ability to also view code coverage information at the instruction level has the added benefit that code coverage information
is present even for those parts of the system for which no source code is available.
 The dynamic call graph annotated with function-level code coverage information
Hardware platform profiling
The ARM Profiler combined with the new RealView Trace 2 (RVT2) capture unit and the RealView ICE run control unit provides innovative streaming profiling from hardware targets.
This streaming profiling technique removes the usual trace capture unit dependence on the size of the on-board buffer, which
enables profiling for as long as is needed. To support targets running at clock frequencies of up to 450 MHz, the new RVT2
capture unit connects to the host PC via a dedicated USB2 cable. The ARM Profiler supports ARM926EJ-S™ , ARM946E-S, ARM966E-STM , ARM1136JF-S™, ARM1176JZF-S™, Cortex-A8,Cortex-M3, and Cortex-R4 processor-based devices with further cores to be added in future releases.
 Connect to hardware via RealView Trace 2 capture unit and RealView ICE run control unit
Virtual platform profiling
The ARM Profiler ships with instruction accurate Real Time System Models from the ARM Fast Model Library. These models include ARM Versatile/EB hardware platforms with the following ARM processors: ARM926EJ-S, ARM1136JF-S, ARM1176JZF-S, Cortex-R4, Cortex-A8, and Cortex-A9 (single core). This enables performance and code coverage analysis independent of hardware availability which is very useful
for pre-silicon analysis or to supplement available hardware.
Superior knowledge of ARM technology-based devices
The ARM Profiler has been created by ARM and, therefore, is able to offer unrivalled insight into ARM technology-based devices
and software created with the ARM Compiler or with any ABI-compliant compiler.
The information offered by the ARM Profiler includes:
- Interlock information on every instruction to enable identification of code that can be optimized by restructuring the source
or assembly code.
- A cycle estimator that highlights instructions that take more than the optimal number of cycles. This enables identification
of memory bottlenecks.
- Delay and efficiency information on every function for a high-level view based on the interlock and optimal cycle information.
- Detailed information on every processed branch, taken or not, to enable a low-level view of the control flow and quick navigation
through the call chain.
- Building on the knowledge of modern compiler optimization techniques, the ARM Profiler offers an innovative linked assembly
and source code view that is able to visualize the NxM relationship between source code and the generated instructions.
This detailed information will enable customers to get the best possible performance out of their ARM technology-based devices
in the shortest possible time.
 Linked assembly and source view
Intuitive user interface
The ARM Profiler provides an intuitive user interface. This enables users to concentrate on writing the best possible device
software, without the need for a steep learning curve. The ARM Profiler provides a top-down insight into the analyzed software,
starting with a summary view and expanding into detailed reports.
 Display of Interlock information on every instruction
 A highlighted instruction that takes more than the optimal number of cycles
The summary view shows the top five functions ranked by time taken, time delayed and memory accesses, and provides high-level
information on code coverage. The detailed views provide an order of magnitude more information, including detailed statistics
on all functions; detailed information on the source code and its derived assembly code, annotated with performance and coverage
information; and multiple views that help explore the dynamic call graph and caller-callee relationships.
 The top-level summary view
The ARM Profiler is integrated into the popular and industry standard Eclipse IDE. This allows developers to modify, build, and profile their code in the same window.
|