Meet The New ARM DS-5
ARM DS-5™ is the latest generation of integrated software development environment from ARM. DS-5 supersedes ARM RVDS 4.1, and provides innovative optimized tools for debug, optimization, simulation and code generation for ARM processors.
The ARM® Profiler, part of ARM® RVDS™ 4.1 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 400 MHz. This means that the 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 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
|Long duration profiling||Analyzes device software that is processing a real work load for as long as is needed|
|Non-intrusive profiling of fully optimized code||Analyzes production software to identify real bottlenecks, without the chance of the measurement influencing the results|
|Statement and branch coverage information||Superior insight into the quality of the software by quantifying the effectiveness of the software validation|
|Hardware platform profiling via ETM Trace||Analyzes the software as it runs on the actual device|
|Includes six models from the Fast Model Library||Analyzes the software on instruction-accurate virtual platforms before silicon is available at speeds reaching up to 250 MHz|
|Highlighting of delays||Feedback on suboptimal cycles per instruction helps developers to get the best out of ARM technology-based devices in the shortest possible time|
|Profile-Driven Compilation||When used with the ARM® Compiler in RVDS 4.1 Professional, applications can see an immediate improvement based on runtime performance|
|Trace Replay||Locate specific causes of delay by running and stepping backward and forward through instruction trace|
Long duration profiling
The 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 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 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 Profiler fits into standard validation practices through its ability to combine multiple analysis runs into one report.
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.
Hardware platform profiling
The Profiler combined with the new ARM® RVT2™ trace capture unit and the ARM® RVI™ run control debug 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 400 MHz, the new RVT2 capture unit connects to the host PC via a dedicated USB2 cable. The 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.
Virtual platform profiling
The Profiler ships with instruction accurate Real Time System Models from the ARM® Fast Models™ 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 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 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 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.
Intuitive user interface
The 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 Profiler provides a top-down insight into the analyzed software, starting with a summary view and expanding into detailed reports.
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 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.
Profile software running on Linux, Android and Symbian OS
The Profiler for Linux, Android and Symbian OS™ brings unrivalled insight into embedded device software performance to smartphones running these OSes. Based on ARM comprehensive CoreSight™ debug and Trace infrastructure, the 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.
By analysing runtime performance, the Compiler in RVDS 4.1 Professional used in conjunction with the 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.
The 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.