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.
|