天天看点

arm-none-eabi与arm-none-linux-gnueabi的区别

ARM交叉编译工具有多个版本,注意区分。

abi(application binary interface): 二进制程序接口

eabi(embedded): 嵌入式二进制程序接口

arm-none-eabi: 无操作系统,不支持系统调用的函数,如fork等。其使用专用于嵌入式开发的C程序库。

arm-none-linux-eabi: 用于linux,使用glibc。

GCC编译器

arm-none-eabi-gcc: 编译裸机程序或系统,适用于ARM7/Cortex-M/Cortex-R,可调用newlib库。

arm-none-linux-gnueabi-gcc: 编译ARM架构的Linux程序,有uboot/linux kernel/linux应用,适用于ARM9/ARM11/Cortex-A。

arm-linux-gnueabi-gcc: 适用于armel架构(与armhf有浮点运算间的差异)。

arm-linux-gnueabihf-gcc: 适用于armhf架构。

arm-eabi-gcc: android编译器。

armcc: 功能同arm-none-eabi-gcc,Keil MDK内置,收费。