ARM RealView Compilation Tools 3.1

  • Size:15MB
  • Language:english
  • Platform:Win7/WIN8
  • Freshtime:2008-05-09
  • Search:

Description

::::::English Description::::::

The ARM® RealView® Compilation Tools are an integral part of the RealView Development Suite.

One Tool Kit for all ARM Devices
ARM is committed to producing tools with leading-edge performance and code size for all current and planned ARM processors. Because RealView Compilation Tools support the ARM processor architecture only, the compiler can perform optimizations early in the tool flow. This leads to more optimal code and shorter compilation time.

The RealView Compilation Tools are the result of 20 years of research and development. They deliver the full set of software components required to build C and C++ applications targeting the 32-bit ARM and 16-bit Thumb® and Thumb-2 instruction sets.

Leading-Edge Development
The RealView Compilation Tools are developed hand in hand with ARM processor IP. The research and development of new hardware features are directly linked to the compiler development, which results in:

  • Hardware resources designed for compilation targets
  • A more robust, efficient compiler, ready as soon as the hardware is available
  • Well designed access to cutting edge features
  • Processor IP designed to best use the RealView Compilation Tools

An example of leading-edge development is the vectorizing compiler for the ARM NEON SIMD signal processing architecture, available as an add-on to the RealView Development Suite. This compiler allows the automatic generation of SIMD code sequences from standard C with minimal modification:

Auto vectorize code example
Development for Severely Cost-Sensitive Devices
To further improve code density for the range of ARM processor-based applications, the RealView Compilation Tools feature a new 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 the CortexTM-M3 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.

Microlib code size savings
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).

Cross-Vendor Tools Support
For software designs that contain third-party modules, the ABI for the ARM architecture (as used in the RealView tools) is the only ABI in the ARM tools market with cross-vendor support. This means that companies can choose the best tools for their project, regardless of what tools were used to develop the module.

ARM is committed to tracking changes to the ABI for the ARM architecture, ensuring tools compatibility in the future.

Reducing Risk for Linux Application Development
The ABI for the ARM architecture is compatible with the GNU compiler GCC, allowing integration with third-party libraries and access to a second source compiler for zero cost.

The compatibility between GNU tools and the RealView Compilation Tools means that Linux applications can be built using the ARM tools. ARM tools provide 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 RealView Compilation Tools 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.

The RealView Compilation Tools support three classes of intrinsic function:

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

Using Intrinsic Functions

Key features of the RealView  Compilation Tools:
Optimizing ISO C/C++ Compiler and Assembler

  • Full ISO C and C++ support (with ANSI C99 support)
  • Implementation of ARM C/C++ ABI for the ARM architecture:
    • Object files conform to industry standard ELF and DWARF
    • Enables mixing of object code compiled with other ABI-compliant compilers, e.g. GNU GCC 
  • Industry-leading code size optimization
  • Industry-leading code performance optimization
  • Compilation for 32-bit ARM and 16-bit Thumb and Thumb-2 instruction sets
  • Independently selectable debug and optimization levels
  • Processor-specific optimizations for all available and planned ARM architectures
  • Powerful macro assembler for ARM, Thumb and Thumb-2 instructions
  • Intrinsic functions allow access to ARM features such as saturating maths, which are difficult to express in C
  • Optional: The vectorizing compiler for the NEON SIMD signal processing architecture, which enables direct compilation of standard C to target NEON SIMD hardware

Linker

  • ELF and DWARF industry standards supported for object file and debug table formats
  • Seamless interworking of ARM, Thumb, and Thumb-2 object code
  • Scatter-loading feature supports placement of code and data within sophisticated target memory maps
  • Automatic removal of unreferenced code areas

Image Conversion Tool

  • Converts from ELF images into other formats that are downloadable or suitable for various Flash utilities
  • Binary, Motorola 32-bit S-record, Intel Hex-32 and Byte Oriented Hex formats are supported
  • Displays information about the input file, e.g. disassembly output or symbol listings

ARM Object File Librarian/Archiver

  • Enables sets of ELF object files to be collected together and maintained in libraries
  • Supports merging of libraries

C and C++ Libraries including RogueWave STL

  • The full ISO standard C libraries consist of:
    • Functions defined by the ISO C library standard
    • Target-dependent functions used to implement the C library functions in the semihosted execution environment
    • Helper functions used by the C and C++ compilers
  • The standardlib floating-point library provides a full implementation of the IEEE 754 standard for binary     floating-point arithmetic
  • The microlib C library allows the use of C on memory constrained devices
  • The standardlib library utilizes Semihosting as a mechanism to provide OS support (time, fileIO, etc.) on bare metal devices, which means that even code dependent on OS support works ‘out of the box’ when connected to a debugger
  • The Rogue Wave C++ Standard Template Library contains:
    • The functions defined by the ISO C++ library standard
    • The Rogue Wave Standard C++ Library version 2.02.03
    • Helper functions for the C++ compiler

Download