RealView® Development Suite 4.1 is complete, end-to-end solution for software development that supports all ARM processors and ARM CoreSightdebug technology. RealView tools offer the highest-performance ARM C/C++ compilers and support the most advanced debug technology available today for bringing up the latest SoC and ASIC designs. RVDS is available in Standard and Professional Editions. The Standard Edition offers the following components
- The highly optimizing ARM Compiler targeted at currently available devices
- ARM Workbench IDE, which aims to increase software developer´s productivity by helping with project creation and improves insight in the source, object and executable code.
- ARM RVD™ Debugger supporting JTAG and CoreSight enabled debugging
The ARM® Compiler in ARM RVDS™ 4.1 is the only commercial compiler co-developed with the ARM processors and specifically designed to optimally support the ARM architecture. It is the result of 20 years of development and is recognized as the industry standard C and C++ compiler for building applications targeting the ARM, Thumb, Thumb-2, VFP and NEON instruction sets.
- ARM processors are designed to best execute code generated by the ARM Compiler
- ARM Compiler enables the new processor features in all the ARM processors
- Profile-Driven Compilation automatically optimizes code based on runtime information
- The ARM Compiler supports building of Symbian OS and ARM Linux applications and libraries
The RVDS 4.1 compiler reduces the best codesize by up to 5% and improves the best performance by 10-15% when compared to RVDS 4.0.
Development for Severely Cost-Sensitive Devices To further improve code density for the range of ARM processor-based applications, the ARM Compiler features an optional microlib C library (a subset of the ISO standard C runtime library), which has been minimized in size for microcontroller applications. The microlib C library achieves a 92 percent reduction in runtime library code size.
When combined with a Cortex-M class processor, the microlib C library provides a completely C-based development environment without the need to revert to assembly language - even for interrupt service routines. This removes the need for specific knowledge of the ARM architecture.
Memory savings provided by the microlib C library will depend on the application, from ‘hello world’ (97 percent reduction) to more complex applications such as Dhrystone (50 percent reduction).
Reducing Risk for Linux Application Development The ABI for the ARM architecture created by the ARM Compiler team is also implemented in the GNU compiler for ARM. This enables the creation and use of libraries that can be shared between development environments.
The compatibility between the GNU Compiler and the ARM Compiler means that Linux applications can be built using the ARM Compiler. The ARM Compiler provides your development team with high-quality support and the performance, stability and code size benefits you expect from a quality commercial toolkit.
Accurate Code Generation Many algorithms are now automatically generated from mathematical modeling software using floating point representations for data. Therefore, the accuracy of IEEE bit representation and floating point representations is essential for correct operation of the generated code. The default library selected by the ARM Compiler offers a full complement of C/C++ functionality, including C++ exception handling and IEEE 754 floating point support. The compiler can optionally generate code to use either software floating point or any of the ARM hardware floating point units. Independent of the method used, the compiler generates full IEEE 754-compliant code. This means that your application will generate exactly the same data regardless of the target processor, speeding porting from one device to another.
Targeting Advanced Maths and DSP-Style Solutions Intrinsic functions provide support for common code sequences or instructions that do not map well onto high-level languages.
- ETSI intrinsics provide telecom primitives, which are used in a number of example algorithms
- TI C55 intrinsics provide for support for algorithms written to exploit TI-specific extensions
- Cortex-M4 intrinsics for targeting the onboard DSP
- Other intrinsics allow access to all ARM hardware instructions not easily accessible from C, reducing the need to write code in assembly language
Where possible, intrinsics are emulated on early processors.
ARM Workbench IDE
The ARM® Workbench IDE in RVDS is an Integrated Development Environment (IDE) based on the open-source Eclipse 3.3 IDE. This combines Eclipse’s outstanding source code development tools and plug-in framework with ARM’s best-in-class compilation and debug technology. Developers can use the ARM Workbench IDE project manager to create, build, debug, program Flash, profile, trace and manage C/C++ projects for all ARM processor-based targets.
The IDE contains many features that significantly increase productivity, including a C/C++ source browser configuration wizards, cheat sheets, and project stationery. Project stationery enables a simple way to optimally configure the tools for specific ARM processors and development boards, and can be used for projects either self-hosted or hosted by an OS like ARM Linux. The ARM Workbench IDE offers the following custom component on top of the standard Eclipse IDE:
- Custom tabs to set options for the ARM Compiler, Linker and utilities, which provides an easy way to configure the ARM code generation tools
- Documentation viewer to give one convenient environment to display all the provided documents
- Integrated Flash programmer. This programmer provides a new flash project wizard to create flash algorithms, configuration panels for sending images and managing target connections. It also provides a flash device export wizard for close integration with the ARM RVD™ debugger.
- The ARM Assembler editor with syntax highlighting. This editor presents ARM assembler files with customizable formatting of code that is easy to read. It also provides an auto-complete feature on labels and other navigational aids.
- The online help for this plug-in describes how to configure and activate these settings.
- The integrated ARM Profiler, which is part of RVDS 4.1 Professional, is a unique product enabling non-intrusive analysis of embedded software performance for virtually unlimited periods of time. It is capable of running at operational frequencies of up to 400 MHz and can gather profile information covering minutes, hours or days
- Linker memory map editor. This editor provides a graphical representation of the linker memory configuration. This enables developers to get a better understanding of how their tools are configured, in order to match this to their real system.
- Source Configuration Editor to enable the configuration of assembler files through a convenient GUI ELF and instruction statistics viewer enables a quick way to understand the different attributes of the executable or object file.
Getting Started with ARM Workbench IDE Getting started with a new ARM project is made simple with the comprehensive set of new features in the ARM Workbench IDE. With the New Project Wizard, not only are ARM-specific project settings automatically configured for the user using project stationery, but selecting target configurations and target settings can also be configured within the wizard.
Common configuration options such as the choice of ARM-based processor enable developers to quickly select the most appropriate compiler settings for their system. The project settings can be further configured once the project has been created, providing flexibility within the development project. New user assistance features can be invaluable to users not yet familiar with the Eclipse IDE. This includes extensive tooltips for the configuration panels, and a comprehensive selection of step by step cheat sheets to guide the user through many common tasks.
Migration from CodeWarrior IDE Software developers who have used CodeWarrior as their IDE will find easy-to-follow instructions for importing their projects from CodeWarrior IDE to Eclipse IDE. With support for large projects and the command line settings from existing CodeWarrior projects imported directly into the new project in Eclipse, users will experience an efficient transition to the new development environment.
ARM RV Debugger RVD
The debugger in the RealView Development Suite delivers outstanding visibility of the behavior of software and hardware within complex SoCs. As part of the RealView® Development Suite, the debugger offers support for all ARM® architectures, including the latest Cortex™ family of processors with CoreSight™ on-chip debug and trace technology.
Debug Single and Multi-core SoCs The debugger in the RealView Development Suite enables developers to debug multi-core models and hardware by synchronizing the operation of all cores during debug. Complex, multicore systems can be stopped quickly to preserve critical state information, by providing a powerful cross core breakpoint facility that enables a breakpoint on one core to stop all other cores in the system.
Debug OS and Middleware The debugger in the RealView Development Suite offers full OS-aware support for many popular OS, providing detailed visualization of their execution contexts and resources.
Debug with ETM and CoreSight Trace The debugger in RealView Development Suite provides extensive non-intrusive trace and profiling support, allowing developers to deliver optimal code tuned to their SoC with utmost confidence.
Debug Targets Whether you are exploring a new hardware/software architecture, bringing up an OS, or creating an application, the debugger in the RealView Development Suite offers you the broadest range of target choice.