Original URL: http://www.veryarm.com/cross-tools
Why use a cross compiler?
cross-compilation in layman's words is to compile a program on a platform that can run on a different architecture , such as compiling programs on a PC platform (X86 CPU) that can run on an arm-based CPU platform, compiled programs that are X86 The CPU platform is not operational, and must be placed on the ARM CPU platform to run, although the two platforms are all Linux systems.
The cross-compilation toolchain is a comprehensive development environment consisting of compilers, connectors, and interpreters, and the cross-compilation toolchain consists mainly of three parts, Binutils, GCC, and glibc. Sometimes for the sake of reducing the size of the LIBC library, other C libraries can be used instead of glibc, such as UCLIBC, DIETLIBC, and Newlib. Building cross-compilation toolchain is a fairly complex process, if you do not want to go through the complicated compilation process, there are some compiled and available cross-compilation toolchain can be downloaded, but it is necessary to learn for the purpose of learning to create a cross-compiling tool chain (Currently, For beginners There is not much need to cross-compile a toolchain themselves).
Classification and description
From the license, there is a free license version and a paid license version.
The free version currently has three major tools provider, the first is GNU (provide source code, self-compiled production), the second is Codesourcery, the third is Linora.
The paid version has the ARMCC provided by arm, the compiler provided by IAR, and so on, because these prices are relatively expensive, not suitable for learning user use, so do not tell.
- ARM-NONE-LINUX-GNUEABI-GCC: Codesourcery (currently acquired by mentor) is a GCC-based arm cross-compilation tool. Code that can be used to cross-compile all aspects of an arm (32-bit) system, including bare-metal programs, u-boot, Linux kernel, filesystem, and app applications.
- ARM-LINUX-GNUEABIHF-GCC: is an arm cross-compilation tool launched by Linaro company based on GCC. Code that can be used to cross-compile all aspects of an arm (32-bit) system, including bare-metal programs, u-boot, Linux kernel, filesystem, and app applications.
- AARCH64-LINUX-GNU-GCC: is an arm cross-compilation tool launched by Linaro company based on GCC. Can be used to cross-compile bare metal programs in ARMV8 64-bit targets, u-boot, Linux kernel, filesystem, and app applications.
- ARM-NONE-ELF-GCC: Codesourcery (currently acquired by mentor) is a GCC-based arm cross-compilation tool. Can be used to cross-compile arm MCU (32-bit) chip, such as ARM7, ARM9, CORTEX-M/R chip program.
- ARM-NONE-EABI-GCC: is the GNU-launched Arm cross-compilation tool. Can be used to cross-compile arm MCU (32-bit) chip, such as ARM7, ARM9, CORTEX-M/R chip program.
Cross compiler download
- arm-none-linux-gnueabi-gcc Download : HTTP://WWW.VERYARM.COM/ARM-NONE-LINUX-GNUEABI-GCC
- arm-linux-gnueabihf-gcc Download : HTTP://WWW.VERYARM.COM/ARM-LINUX-GNUEABIHF-GCC
- aarch64-linux-gnu-gcc Download : HTTP://WWW.VERYARM.COM/AARCH64-LINUX-GNU-GCC
- arm-none-elf-gcc Download : HTTP://WWW.VERYARM.COM/ARM-NONE-ELF-GCC
- arm-none-eabi-gcc Download : HTTP://WWW.VERYARM.COM/ARM-NONE-EABI-GCC
The above address are directly from the official website to Baidu Cloud disk, only for the convenience of domestic users to download and use, not the production site, do not use for commercial or illegal purposes. Because the version is more difficult to select, we recommend that you use the latest version of the class compiler.
"Turn" arm cross-compile toolchain