arm-eabi-gcc 和 arm-none-eabi-gcc 都是基于 GCC 的交叉编译器,用于编译 ARM 架构的嵌入式系统。它们的命名规则如下:
- arm 表示目标架构是 ARM。
- eabi 表示嵌入式应用程序二进制接口(Embedded Application Binary Interface),是一种用于嵌入式系统的标准接口。
- gcc 表示 GNU 编译器集合(GNU Compiler Collection),是一种开源的编译器。
- none 表示没有指定供应商或操作系统。
它们的主要区别是:
- arm-eabi-gcc 是 Android 平台使用的交叉编译器,它可以编译 Android 的 boot、kernel、filesystem 和应用程序等。它使用的是 Bionic C 库,这是一种专门为 Android 设计的轻量级 C 库。1
- arm-none-eabi-gcc 是 ARM 官方提供的交叉编译器,它可以编译 ARM 的裸机系统,不适用于编译 Linux 应用程序。它使用的是 Newlib C 库,这是一种专门为嵌入式系统设计的小型 C 库。2
我在网上搜索了一些可能的来源和下载链接,您可以参考以下信息:
- Android NDK | Android Developers:这是 Android NDK 的官方网站,Android NDK 是一个用于在 Android 应用中集成 C 和 C++ 代码的工具集。Android NDK 提供了一系列的工具,包括 arm-eabi-gcc,来帮助您构建,调试和优化您的本地代码。您可以在这个网站上下载 Android NDK 的最新版本,然后按照文档的指导来使用 arm-eabi-gcc 编译器。
- GNU Arm Embedded Toolchain Downloads:这是 GNU Arm Embedded Toolchain 的官方网站,它是一个免费的、开源的、用于 C、C++ 和汇编编程的工具集。它支持 32 位的 ARM Cortex-A、ARM Cortex-M 和 ARM Cortex-R 处理器系列。它可以在 Windows、Linux 和 Mac OS X 操作系统上进行嵌入式软件开发。您可以在这个网站上下载该工具链的最新版本,也可以找到源代码包和安装说明。
- ARM-Linux 交叉编译工具链安装_arm-linux-gcc交叉编译工具链安装-CSDN博客:这是一个 CSDN 博客的网页,它介绍了如何在 Linux 系统上安装 arm-linux-gnueabihf-gcc 交叉编译工具链,它是由 Linaro 公司基于 GCC 推出的一个工具链,可以用于编译 ARM(32 位)系统中所有环节的代码。
- ARM交叉编译工具链 gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别-CSDN博客:这是一个 CSDN 博客的网页,它解释了不同的交叉编译器的命名规则,包括 gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi 等后缀的含义和区别。
- 交叉编译学习笔记(二)------交叉编译器的命名规则-腾讯云开发者社区-腾讯云:这是一个腾讯云开发者社区的网页,它也介绍了交叉编译器的命名规则,以及如何选择合适的交叉编译器。
arm-eabi-gcc 交叉编译器
您提供的网站是 Arm GNU Toolchain 的官方网站,它提供了不同的主机操作系统和目标架构的交叉工具链。您可以根据您的需求选择合适的下载链接,但是我建议您参考以下的指导:
- 如果您的主机操作系统是 Windows,您可以选择 Windows 32-bit Installer 或者 Windows 32-bit ZIP package。这两个链接都可以提供 arm-none-eabi-gcc 编译器,但是安装器可以自动将编译器的路径添加到您的环境变量中,而 ZIP 包则需要您手动解压缩和配置。您可以根据您的喜好选择其中一个。
- 如果您的主机操作系统是 Linux,您可以选择 Linux x86_64 Tarball 或者 Linux AArch64 Tarball。这两个链接都可以提供 arm-none-eabi-gcc 编译器,但是您需要根据您的主机架构选择合适的版本。如果您的主机是 x86_64 架构,您可以选择 Linux x86_64 Tarball;如果您的主机是 AArch64 架构,您可以选择 Linux AArch64 Tarball。您需要解压缩这些文件,然后将编译器的路径添加到您的环境变量中,才能使用这个编译器。
- 如果您的主机操作系统是 Mac OS X,您可以选择 Mac OS X 64-bit Tarball 或者 Mac OS X 64-bit Package。这两个链接都可以提供 arm-none-eabi-gcc 编译器,但是 Tarball 需要您手动解压缩和配置,而 Package 可以自动安装和配置。您可以根据您的喜好选择其中一个。
您可以在这个网页上找到这些下载链接:GNU Arm Embedded Toolchain Downloads。您也可以在这个网页上找到更多的信息,如安装说明、源代码包、已知问题等。