Cross-compilers
A cross-compiler creates executables meant to run on a target whose architecture is different from the one it resides on. For example, if we were building applications to run on the host Linux® PC, we could simply use the native GCC toolchain resident on the PC. However, for embedded Linux projects that use a Microchip MCU or MPU, we are building applications and images meant for a different machine based on the Arm® CPU architecture. Hence we require a cross-compiler to develop the code on the host PC. There are a number of toolchains available which contain a cross compiler and linker, such as the Yocto SDK.