When writing a C or C++ application, you'll need to compile it to machine code using a compiler toolchain. You can then run this compiled executable code on an Arm-based processor, or simulate it with a model.

The compiler toolchain includes the following components:

  • A compiler to translate C and C++ source code into machine code.
  • An assembler to translate assembly language source code into machine code.
  • A linker to combine multiple machine code modules into a single executable file.

Available toolchains include:

  • Arm Compiler 6. The latest and most efficient Arm C/C++ compilation toolchain, based on the armclang compiler. Arm Compiler 6 maximizes the potential of Arm Cortex and Neoverse processors and architectures, from Armv6-M to Armv8-A 64-bit Arm.
  • Arm Compiler 5. The previous generation Arm C/C++ compilation toolchain, based on the armcc compiler. Arm Compiler 5 provides stability and superb code size for legacy projects up to and including Armv7.
  • The GNU toolchain. An open source, community-developed toolchain. The GNU toolchain provides a low-cost mechanism for developing on Arm platforms.

All these toolchains can be used standalone, from the command line, or integrated into Arm Development Studio or Keil MDK IDE environments.