1.1.1 Summary of ARM® Compiler tools

ARM® Compiler includes the tools and libraries required to create executable images, dynamically linked libraries and shared objects from C, C++, and ARM assembly code.

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 Advanced SIMD vectorizing compiler.


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

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.

If you are using ARM Compiler as a standalone product, then the 32-bit version is used by default.

For ARM Compiler in DS-5, the linker version depends on the host platform. 32-bit tools have the 32-bit linker and 64-bit tools have the 64-bit linker. You do not get both versions.

For the Microcontroller Developer Kit (MDK), only the 32-bit linker is provided.


The librarian. This enables sets of ELF 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 its disassembly and its code and data size.

ARM C++ libraries

The ARM C++ libraries provide:

  • Helper functions when compiling C++.

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

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

  • Some POSIX extended functionality.

  • Some functions standardized by POSIX.

ARM C microlib

The ARM C 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 C++ library provides an implementation of the C++ Standard Template Library (STL).


ARM Compiler does not support systems with ECC or parity protection where the memory is not initialized.
Non-ConfidentialPDF file icon PDF versionARM DUI0529M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.