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内置,收费。
本文介绍了ARM交叉编译工具的不同版本,包括arm-none-eabi和arm-none-linux-eabi等,它们分别针对无操作系统和Linux环境。arm-none-eabi适用于裸机程序,与KeilMDK的armcc功能相似,而arm-none-linux-eabi和arm-linux-gnueabihf-gcc则针对不同架构的Linux系统。理解这些工具的差异对于嵌入式开发至关重要。

4092

被折叠的 条评论
为什么被折叠?



