From EdWiki
Jump to: navigation, search

What is Toolchain?

  • A toolchain is a collection of programming tools.
  • It consists of a compiler, linker, assembler, and a debugger.
  • The GNU toolchain is a programming tools produced by the GNU Project.


The toolchain used for embedded development is a cross toolchain (cross compiler). In other words, when the host and target architectures are different, the toolchain is called a cross compiler (e.g. if we develop a code on a Linux machine based on the x64 architecture, but we're compiling for an ARM target, then we need Linux-based ARM-targeting cross compiler).

Host and Target

When talking about toolchains, one must distinguish three different machines:

  • the build machine, on which the toolchain is built
  • the host machine, on which the toolchain is executed
  • the target machine, for which the toolchain generates code

See Also