You copied the Doc URL to your clipboard.

About the ARM Compiler toolchain

The ARM Compiler toolchain enables you to build applications for the ARM family of processors from C, C++, or ARM assembly language source. The toolchain comprises:


The ARM and Thumb® compiler. This compiles your C and C++ code. It supports inline and embedded assemblers, and also includes the NEON™ vectorizing compiler, invoked using the command:

armcc --vectorize


The NEON vectorizing compiler is a separately licensed feature.


The ARM and Thumb assembler. This assembles ARM and Thumb assembly language sources.


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

A 64-bit version of armlink is also provided that can access the greater amount of memory available on 64-bit machines. It supports all the features that are supported by the 32-bit version of armlink in this release.

The 32-bit version is used by default.


The librarian. This enables sets of ELF format object files to be collected together and maintained in archives or libraries. You can pass such a library or archive to the linker in place of several ELF files. You can also use the archive for distribution to a third party for further application development.


The image conversion utility. This can also generate textual information about the input image, such as disassembly and its code and data size.

C++ libraries

The ARM C++ libraries provide:

  • helper functions when compiling C++

  • additional C++ functions not supported by the Rogue Wave library.

C libraries

The ARM C libraries provide:

  • an implementation of the library features as defined in the C and C++ standards

  • extensions specific to the compiler, such as _fisatty(), __heapstats(), and __heapvalid()

  • GNU extensions

  • common nonstandard extensions to many C libraries.

  • POSIX extended functionality

  • functions standardized by POSIX.

C micro-libraries

The ARM C micro-library (Microlib) provides a highly optimized set of functions. These functions are for use with deeply embedded applications that have to fit into extremely small amounts of memory.

Rogue Wave C++ library

The Rogue Wave library provides an implementation of the standard C++ library. For more information on the Rogue Wave library, see the HTML documentation on the CD-ROM.

Supporting software

You can debug the output from the toolchain with any debugger that is compatible with the ELF, DWARF 2, and DWARF 3 specifications.

Updates and patches to the toolchain are available from the ARM web site as they become available.