2.2.1. Components of RVCT

The RVCT consists of the following major components:

Compilation tools

The following compilation tools are provided:


The ARM and Thumb® C and C++ compiler. The compiler is tested against the Plum Hall C Validation Suite for ISO conformance. It compiles:

  • ISO C source into 32-bit ARM code

  • ISO C++ source into 32-bit ARM code

  • ISO C source into 16-bit Thumb code

  • ISO C++ source into 16-bit Thumb code.

armcc creates only ATPE format objects.


The ARM and Thumb assembler. This assembles both ARM assembly language and Thumb assembly language source. armasm creates only ATPE format objects.


The ARM linker. This combines the contents of one or more object files with selected parts of one or more object libraries to produce an executable program. The ARM linker creates ATPE executable images.

Rogue Wave C++ library

The Rogue Wave library provides an implementation of the standard C++ library as defined in the ISO/IEC 14822:1998 International Standard for C++. For more information on the Rogue Wave library, see the online HTML documentation on the CDROM.

support libraries

The ARM C libraries provide additional components to enable support for C++ and to compile code for different architectures and processors.


The following utility tools are provided to support the main development tools:


The ARM image conversion utility. This accepts ATPE input files and converts them to a variety of output formats, including:

  • plain binary

  • Motorola 32-bit S-record format

  • Intel Hex 32 format

  • Verilog-like hex format.

fromELF can translate ATPE images into formats suitable for FLASH/ROM programmers. Apart from this, it cannot translate ATPE objects or images into formats suitable for use by other versions of the ARM toolchains.

fromELF can also generate text information about the input image, such as code and data size.

This toolkit version of fromELF does not support certain features, compared with the full fromELF. See the chapter on using fromELF in RealView Developer Kit v2.2 Linker and Utilities Guide for more information.


The ARM librarian enables sets of ATPE object files to be collected together and maintained in libraries. You can pass such a library to the linker in place of several ATPE files.

Supported standards

The industry standards supported by RVCT include:


UNIX-style archive files are supported by armar.


DWARF2 debug tables are supported by the compiler, linker, and RealView Debugger.


The ARM compiler accepts ISO C as input. The option --strict can be used to enforce strict ISO compliance.


The ARM compiler supports the full ISO C++ language.

ABI for the ARM Architecture

The Application Binary Interface for the ARM Architecture (ABI for the ARM Architecture). For more details, see http://www.arm.com. RVDK generates ATPE objects, which are not ABI-compliant. RVDK can consume both ATPE objects and ABI-compliant ELF objects.

Supporting software

To debug your programs with RealView ICE Micro Edition connected to your evaluation board, use RealView Debugger.

Copyright © 2005, 2006 ARM Limited. All rights reserved.ARM DUI 0276B