Other GCC compilers

Source: Internet
Author: User

Abi and Eabi

1) ABI (application Binary Interface for the ARM Architecture) describes a low-level interface between an application and an operating system or other application.

The ABI allows the compiled target code to run without modification in a system that uses a compatible ABI.

The API supports the same code to compile on any system that supports this API, and defines the interface for coding and libraries.

2) EABI (Embedded ABI), the main difference between the ABI and the general-purpose computer is that privileged directives are allowed in applications, do not require dynamic linking and a more compact stack, and are widely used in arm and power PCs.

Command rules for cross-compiler toolchain: arch [-vendor] [-os] [-(GNU) Eabi]

Arch----architecture, such as Arm,mips

Vendor----Tool chain Provider

OS----Target Operating system

Eabi----Embedded Application Binary interface (Embedded application binary Interface)

ARM-NONE-EABI-GCC Bare-metal systems for compiling arm architectures (including the boot, kernel of ARM Linux, not for compiling Linux applications application), are generally suitable for ARM7, Cortex-m and cortex-r cores are used by the chip, using the Newlib this dedicated to the embedded C library.

Newlib is an open source C language library for embedded systems, composed of libc and libm two libraries, characterized by lightweight and fast speed. Newlib implements a number of complex functions, including string support, floating point arithmetic, memory allocation (malloc), and IO stream functions (printf, fprintf, etc.). Where LIBC provides the implementation of the C language Library, LIBM provides support for floating-point arithmetic.

ARM-NONE-LINUX-GNUEABI-GCC is the GCC-based arm cross-compiler tool for Codesourcery Corporation, which is currently being acquired by mentor. Code that can be used to cross-compile all aspects of an arm Linux system, including bare-metal programs, u-boot, Linux kernel, filesystem, and app applications. The general arm9,arm11,cortex-a kernel is used.

ARM-EABI-GCC Android arm compiler is used.

ARMCC is a compilation tool introduced by ARM, which functions like Arm-none-eabi and can compile bare-metal programs (U-boot,kernel). ARMCC general and ARM development tools together, Keil Mdk,ads,rvds and DS-5 and so on.

ARM-NONE-UCLINUXEABI-GCC for Uclinux, using GLIBC.

ARM-LINUX-GNUEABI-GCC and ARM-LINUX-GNUEABIHF-GCC: Two cross compilers are used for Armel and ARMHF two different architectures, and Armel and ARMHF have different strategies for handling floating-point operations ( Arm with FPU supports both floating-point arithmetic policies)

Two compilers are only GCC options-mfloat-abi default value is different, there is soft (not applicable to FPU for floating point operation), SOFTFP (Armel architecture), hard (ARMHF architecture)

Other GCC compilers

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.