toolchain
Cross-compilation
The usual development tools available on a GNU/Linux workstation is a native toolchain This toolchain runs on your workstation and generates code for your workstation, usually x86 For embedded system development, it is usually impossible or not interesting to use a native toolchain
- The target is too restricted in terms of storage and/or memory
- The target is very slow compared to your workstation
- You may not want to install all development tools on your target. Therefore, cross-compiling toolchains are generally used.They run on your workstation but generate code for your target.
Three machines must be distinguished when discussing toolchain creation ▶ The build machine, where the toolchain is built. ▶ The host machine, where the toolchain will be executed. ▶ The target machine, where the binaries created by the toolchain are executed. ▶ Four common build types are possible for toolchains
Different toolchain build procedures
Native Build
Cross Build
Cross-native Build
Canadian Build