arm gcc工具链为arm-elf或arm-none-eabi,有什么区别?

2024-03-27

当您构建 gcc 工具链时,可以将其构建为arm-elf 或arm-none-eabi,但是有什么区别呢?

我今天使用 eabi,但这只是因为其他人似乎都这样做......但由于这是一个非常糟糕的论点,因此理解其中的差异真的很高兴。

注意:此工具链将为基于 Cortex-M3 的 mcu:(如 stm32)交叉编译代码。

Thanks


一些链接:

EABI:

  • http://en.wikipedia.org/wiki/Application_binary_interface http://en.wikipedia.org/wiki/Application_binary_interface
  • http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.swdev.abi/index.html http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.swdev.abi/index.html

ELF:

  • http://en.wikipedia.org/wiki/Executable_and_Linkable_Format http://en.wikipedia.org/wiki/Executable_and_Linkable_Format

Here https://web.archive.org/web/20160410104337/https://community.freescale.com/thread/313490#comment-354077是一位优秀的医生。

工具链具有松散的名称约定,例如 arch [-vendor] [-os] - eabi

 arch -    refers to target architecture (which in our case is ARM)
 vendor -  refers to toolchain supplier
 os -      refers to the target operating system
 eabi -    refers to Embedded Application Binary Interface

部分插图如下:

  • 无臂 eabi- 该工具链针对 ARM 架构,无供应商,不针对操作系统,并符合 ARM EABI。
  • ARM-NONE-Linux-gnueabi- 该工具链针对 ARM 架构,没有供应商,创建在 Linux 操作系统上运行的二进制文件,并使用 GNU EABI。它用于针对基于 ARM 的 Linux 系统。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

arm gcc工具链为arm-elf或arm-none-eabi,有什么区别? 的相关文章

随机推荐