https://releases.linaro.org/components/toolchain/binaries/

1.arm-none-linux-gnueabi-gcc下载
http://www.veryarm.com/arm-none-linux-gnueabi-gcc

arm-none-linux-gnueabi-gcc是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。使用时,按照主机平台,可以下载以下任一版本中的一个,结果是一样的:

Linux解压版:在Linux主机(如Ubuntu、RedHat等)直接解压即可使用。推荐方式!
Linux安装版:在Linux主机下执行后按照提示安装后使用。
Windows解压版:在Windows系统下解压后使用,但是需要MingW32。
Windows安装版:在Windows系统下安装后使用。
RPM安装版:RedHat系统安装包,新版本不提供该类安装包。
源码版:交叉编译器源代码,一般很少用到。

为方便国内用户下载使用,我们从Codesourcery(Mentor)官网下载了所有版本的arm-none-linux-gnueabi-gcc编译器,并放到国内云盘上提供下载。因为版本很多,可能难以选择,但是我们建议您使用最新版本,即有最新~标志的下载项。
1 Linux解压版

gnu-csl-arm-2005Q1B-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2006q1-3-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2006q1-6-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2006q3-26-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2007q1-21-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2008q3-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2009q1-176-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.bz2 —— 下载
arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2012.09-64-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2013.05-24-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2013.11-33-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 —— 下载
arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 最新~推荐!—— 下载

2 Linux安装版

arm-2006q3-26-arm-none-linux-gnueabi.bin —— 下载
arm-2007q1-10-arm-none-linux-gnueabi.bin —— 下载
arm-2007q1-21-arm-none-linux-gnueabi.bin —— 下载
arm-2007q3-51-arm-none-linux-gnueabi.bin —— 下载
arm-2008q1-126-arm-none-linux-gnueabi.bin —— 下载
arm-2008q3-41-arm-none-linux-gnueabi.bin —— 下载
arm-2008q3-72-arm-none-linux-gnueabi.bin —— 下载
arm-2009q1-176-arm-none-linux-gnueabi.bin —— 下载
arm-2009q1-203-arm-none-linux-gnueabi.bin —— 下载
arm-2009q3-67-arm-none-linux-gnueabi.bin —— 下载
arm-2010.09-50-arm-none-linux-gnueabi.bin —— 下载
arm-2010q1-202-arm-none-linux-gnueabi.bin —— 下载
arm-2011.03-41-arm-none-linux-gnueabi.bin —— 下载
arm-2011.09-70-arm-none-linux-gnueabi.bin —— 下载
arm-2012.03-57-arm-none-linux-gnueabi.bin —— 下载
arm-2012.09-64-arm-none-linux-gnueabi.bin —— 下载
arm-2013.05-24-arm-none-linux-gnueabi.bin —— 下载
arm-2013.11-33-arm-none-linux-gnueabi.bin —— 下载
arm-2014.05-29-arm-none-linux-gnueabi.bin —— 最新~ 下载

3 Windows Mingw32 版

gnu-csl-arm-2005Q1B-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2006q3-26-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2007q1-10-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2007q1-21-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2007q3-51-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2008q1-126-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2008q3-41-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2008q3-72-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2009q1-176-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2009q1-203-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2009q3-67-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2010.09-50-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2010q1-202-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2011.03-41-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2011.09-70-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2012.03-57-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2012.09-64-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2013.05-24-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2013.11-33-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 下载
arm-2014.05-29-arm-none-linux-gnueabi-i686-mingw32.tar.bz2 —— 最新~ 下载

4 Windows安装版

gnu-csl-arm-2005Q1B-arm-none-linux-gnueabi.exe —— 下载
arm-2006q1-3-arm-none-linux-gnueabi.exe —— 下载
arm-2006q1-6-arm-none-linux-gnueabi.exe —— 下载
arm-2006q3-26-arm-none-linux-gnueabi.exe —— 下载
arm-2007q1-10-arm-none-linux-gnueabi.exe —— 下载
arm-2007q1-21-arm-none-linux-gnueabi.exe —— 下载
arm-2007q3-51-arm-none-linux-gnueabi.exe —— 下载
arm-2008q1-126-arm-none-linux-gnueabi.exe —— 下载
arm-2008q3-41-arm-none-linux-gnueabi.exe —— 下载
arm-2008q3-72-arm-none-linux-gnueabi.exe —— 下载
arm-2009q1-176-arm-none-linux-gnueabi.exe —— 下载
arm-2009q1-203-arm-none-linux-gnueabi.exe —— 下载
arm-2009q3-67-arm-none-linux-gnueabi.exe —— 下载
arm-2010.09-50-arm-none-linux-gnueabi.exe —— 下载
arm-2010q1-202-arm-none-linux-gnueabi.exe —— 下载
arm-2011.03-41-arm-none-linux-gnueabi.exe —— 下载
arm-2011.09-70-arm-none-linux-gnueabi.exe —— 下载
arm-2012.03-57-arm-none-linux-gnueabi.exe —— 下载
arm-2012.09-64-arm-none-linux-gnueabi.exe —— 下载
arm-2013.05-24-arm-none-linux-gnueabi.exe —— 下载
arm-2013.11-33-arm-none-linux-gnueabi.exe —— 下载
arm-2014.05-29-arm-none-linux-gnueabi.exe —— 最新~ 下载

5 PRM安装版

arm-arm-none-linux-gnueabi-2007q3-51.i686.rpm —— 下载

6 源码

gnu-csl-arm-2005Q1B-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2006q1-3-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2006q1-6-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2006q3-26-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2007q1-10-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2007q1-21-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2007q3-51-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2008q1-126-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2008q3-41-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2008q3-72-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2009q1-176-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2009q1-203-arm-none-linux-gnueabi.src.tar.bz2.bz2 —— 下载
arm-2009q3-67-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2010.09-50-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2011.03-41-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2011.09-70-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2012.03-57-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2012.09-64-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2013.05-24-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2013.11-33-arm-none-linux-gnueabi.src.tar.bz2 —— 下载
arm-2014.05-29-arm-none-linux-gnueabi.src.tar.bz2 —— 最新~ 下载

Mentor官方下载地址(需要注册,注册之后官方会发送一个下载地址到邮箱里面):http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/evaluations/。

2.arm-none-linux-gnueabi交叉工具链与arm-linux-gcc 有区别吗?
http://bdbaishitong.blog.163.com/blog/static/201493080201332094320957/

eabi标准的要好些,可能arm-linux-gcc就是arm-none-linux-gnueabi的一个链接

终于,郁闷已久的问题攻破了,用了三种配置交叉编译的方法,最终在开发板上实现成功了,现在想一想,有的时候真的也是运气。

之前已经试验过使用arm-linux-gcc-3.4.1配置交叉编译编译环境,配置成功了,在开发板上失败了~后来使用脚本创建交叉编译环境(crosstool-0.43),配置成功了(这个用了相当长的时间),在开发板上失败了~终于,在一个偶然的机会(其实是浏览无数网页后),我终于找到了一个好的方法,并成功在开发板上运行。先说一下网上的一些方法,有些所谓的默认安装了一些程序,但是在实际运行时发现根本没有安装,而且很多地方不知道该如何安装。再有就是文章一上来就说安装什么什么软件,但是在网上搜根本找不到。只能说很多人只转载文章,根本没有试验过。但是我还是幸运的找到了一个靠谱的文章http://www.adamjiang.com/pukiwiki/index.php?%E7%BC%96%E8%AF%91mini2440%E5%B7%A5%E5%85%B7%E9%93%BE根据上面的做法,我成功了,在此小做总结。首先下载工具链,幸好这篇文章给出了这个网站,要不还不知道要找多久。

http://www.codesourcery.com/.../arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

70多M很快就下完了,若不是root用户下,可以将文件解压到home的某个目录下。
  • tar xjvfo arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /home/…/arm
那么,在这个目录下会生成一个arm-2008q3文件夹。更改路径不用说了,或者临时或者非临时。我就直接改~/.bashrc了,在最后加:export PATH=/usr/local/arm-2008q3/bin:${PATH}ok~现在使你路径生效吧:source ~/.bashrc再输入:export CROSS_COMPILE=arm-none-linux-gnueabi-作用是:当你编译软件的时候,Makefile在大多数情况向会取得CROSS_COMPILE所指定的交叉编译工具。也可以输入:export CROSS_COMPILE=/usr/local/arm-2008q3/bin/arm-none-linux-gnueabi-这种种方法是通过绝对路径来指定交叉编译工具,这样做可以更精确的为交叉编译定位,同时可以避免很多错误。你可以通过下面这样的例子指定交叉编译工具的绝对路径。现在一切就绪,随便编译个hello world.c文件,用arm-none-linux-gnueabi-gcc helloworld.c -o helloworld,生成的helloworld文件通过nfs挂载到板子上。最最后,在minicom下输入:./helloworld。就会显示你希望见到的输出了。。。。。。

首先,从下面的地址下载工具链

http://www.codesourcery.com/.../arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

等待下载完成后,将工具链解压到/usr/local/目录,如果你没有编译主机上的root权限的话,你可以将工具链解压到Linux用户的home目录中的某个位置(比如${HOME}/bin)

tar xjvfo arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /usr/local

这个操作将会在/usr/local目录中创建一个么名为arm-2008q3的目录。

接下来,你需要将这个新进添加的工具链的位置添加到PATH变量之中。编译你的~/.bashrc文件,在其中加入新的PATH变量

export PATH=/usr/local/arm-2008q3/bin:${PATH}

使用source命令在当前shell中启用这个变化,这样你就不需要重新登入系统使用新变量了。

source ~/.bashrc

或者直接在shell中使用export对当前shell做同样的操作。

export PATH=/usr/local/arm-2008q3/bin:${PATH}

如果你并不是bash用户,你可以修改你使用的shell所对应的环境设置文件,比如,对于zsh来说,您应该修改~/.zsh文件。或者,你需要在每次登入shell后首先运行上面的export操作。

因为在开发主机上进行交叉编译意味着使用开发主机的能力生成另外一个体系结构上运行的二进制代码,所以,一般来说,你需要编译的软件通常都会接受一个叫做CROSS_COMPILE的变量来指定产生哪个体系结构的代码。所以,配置工具链的最后一个步骤就是设置这个变量。如果你现在使用ls命令查看以下

ls /usr/local/arm-2008q3/bin/

目录的话,你会看到很多以arm-none-linux-gnueabi-开始的可执行文件,而这个共同的前缀就是你需要的CROSS_COMPILE变量。现在,使用export命令设置环境变量

export CROSS_COMPILE=arm-none-linux-gnueabi-

现在,当你编译软件的时候,Makefile在大多数情况向会取得CROSS_COMPILE所指定的交叉编译工具。当然,前提是,这些交叉编译工具在你的PATH变量上。还有一种方法是通过绝对路径来指定交叉编译工具,这样做可以更精确的为交叉编译定位,同时可以避免很多错误。你可以通过下面这样的例子指定交叉编译工具的绝对路径。

export CROSS_COMPILE=/usr/local/arm-2008q3/bin/arm-none-linux-gnueabi-

在大多数情况下,你并不需要将上面的export命令加入~/.bashrc这样的文件,因为,你并不总是需要它们来做交叉编译。比如,你仅仅希望编译运行在开发主机上的程序时。

这样,工具链就准备好了。

3.arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别
http://www.veryarm.com/296.html
命名规则

交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]

arch – 体系架构,如ARM,MIPS
vendor – 工具链提供商
os – 目标操作系统
eabi – 嵌入式应用二进制接口(Embedded Application Binary Interface)

根据对操作系统的支持与否,ARM GCC可分为支持和不支持操作系统,如

arm-none-eabi:这个是没有操作系统的,自然不可能支持那些跟操作系统关系密切的函数,比如fork(2)。他使用的是newlib这个专用于嵌入式系统的C库。
arm-none-linux-eabi:用于Linux的,使用Glibc

实例
1、arm-none-eabi-gcc

(ARM architecture,no vendor,not target an operating system,complies with the ARM EABI)
用于编译 ARM 架构的裸机系统(包括 ARM Linux 的 boot、kernel,不适用编译 Linux 应用 Application),一般适合 ARM7、Cortex-M 和 Cortex-R 内核的芯片使用,所以不支持那些跟操作系统关系密切的函数,比如fork(2),他使用的是 newlib 这个专用于嵌入式系统的C库。
2、arm-none-linux-gnueabi-gcc

(ARM architecture, no vendor, creates binaries that run on the Linux operating system, and uses the GNU EABI)

主要用于基于ARM架构的Linux系统,可用于编译 ARM 架构的 u-boot、Linux内核、linux应用等。arm-none-linux-gnueabi基于GCC,使用Glibc库,经过 Codesourcery 公司优化过推出的编译器。arm-none-linux-gnueabi-xxx 交叉编译工具的浮点运算非常优秀。一般ARM9、ARM11、Cortex-A 内核,带有 Linux 操作系统的会用到。
3、arm-eabi-gcc

Android ARM 编译器。
4、armcc

ARM 公司推出的编译工具,功能和 arm-none-eabi 类似,可以编译裸机程序(u-boot、kernel),但是不能编译 Linux 应用程序。armcc一般和ARM开发工具一起,Keil MDK、ADS、RVDS和DS-5中的编译器都是armcc,所以 armcc 编译器都是收费的(爱国版除外,呵呵~~)。
5、arm-none-uclinuxeabi-gcc 和 arm-none-symbianelf-gcc

arm-none-uclinuxeabi 用于uCLinux,使用Glibc。

arm-none-symbianelf 用于symbian,没用过,不知道C库是什么 。

Codesourcery

Codesourcery推出的产品叫Sourcery G++ Lite Edition,其中基于command-line的编译器是免费的,在官网上可以下载,而其中包含的IDE和debug 工具是收费的,当然也有30天试用版本的。

目前CodeSourcery已经由明导国际(Mentor Graphics)收购,所以原本的网站风格已经全部变为 Mentor 样式,但是 Sourcery G++ Lite Edition 同样可以注册后免费下载。

Codesourcery一直是在做ARM目标 GCC 的开发和优化,它的ARM GCC在目前在市场上非常优秀,很多 patch 可能还没被gcc接受,所以还是应该直接用它的(而且他提供Windows下[mingw交叉编译的]和Linux下的二进制版本,比较方便;如果不是很有时间和兴趣,不建议下载 src 源码包自己编译,很麻烦,Codesourcery给的shell脚本很多时候根本没办法直接用,得自行提取关键的部分手工执行,又费精力又费时间,如果想知道细节,其实不用自己编译一遍,看看他是用什么步骤构建的即可,如果你对交叉编译器感兴趣的话。
ABI 和 EABI

ABI:二进制应用程序接口(Application Binary Interface (ABI) for the ARM Architecture)。在计算机中,应用二进制接口描述了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口。

EABI:嵌入式ABI。嵌入式应用二进制接口指定了文件格式、数据类型、寄存器使用、堆积组织优化和在一个嵌入式软件中的参数的标准约定。开发者使用自己的汇编语言也可以使用 EABI 作为与兼容的编译器生成的汇编语言的接口。

两者主要区别是,ABI是计算机上的,EABI是嵌入式平台上(如ARM,MIPS等)。

arm-linux-gnueabi-gcc 和 arm-linux-gnueabihf-gcc

两个交叉编译器分别适用于 armel 和 armhf 两个不同的架构,armel 和 armhf 这两种架构在对待浮点运算采取了不同的策略(有 fpu 的 arm 才能支持这两种浮点运算策略)。

其实这两个交叉编译器只不过是 gcc 的选项 -mfloat-abi 的默认值不同。gcc 的选项 -mfloat-abi 有三种值 soft、softfp、hard(其中后两者都要求 arm 里有 fpu 浮点运算单元,soft 与后两者是兼容的,但 softfp 和 hard 两种模式互不兼容):
soft: 不用fpu进行浮点计算,即使有fpu浮点运算单元也不用,而是使用软件模式。
softfp: armel架构(对应的编译器为 arm-linux-gnueabi-gcc )采用的默认值,用fpu计算,但是传参数用普通寄存器传,这样中断的时候,只需要保存普通寄存器,中断负荷小,但是参数需要转换成浮点的再计算。
hard: armhf架构(对应的编译器 arm-linux-gnueabihf-gcc )采用的默认值,用fpu计算,传参数也用fpu中的浮点寄存器传,省去了转换,性能最好,但是中断负荷高。

把以下测试使用的C文件内容保存成 mfloat.c:
#include <stdio.h>
int main(void)
{
double a,b,c;
a = 23.543;
b = 323.234;
c = b/a;
printf(“the 13/2 = %f\n”, c);
printf(“hello world !\n”);
return 0;
}

1、使用 arm-linux-gnueabihf-gcc 编译,使用“-v”选项以获取更详细的信息:

arm-linux-gnueabihf-gcc -v mfloat.c

COLLECT_GCC_OPTIONS=’-v’ ‘-march=armv7-a’ ‘-mfloat-abi=hard’ ‘-mfpu=vfpv3-d16′ ‘-mthumb’
-mfloat-abi=hard

可看出使用hard硬件浮点模式。

2、使用 arm-linux-gnueabi-gcc 编译:

arm-linux-gnueabi-gcc -v mfloat.c

COLLECT_GCC_OPTIONS=’-v’ ‘-march=armv7-a’ ‘-mfloat-abi=softfp’ ‘-mfpu=vfpv3-d16′ ‘-mthumb’
-mfloat-abi=softfp

可看出使用softfp模式。

技术分享

交叉编译工具
参考资料

交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别:http://www.cnblogs.com/xiaotlili/p/3306100.html
arm-none-linux-gnueabi,arm-none-eabi 与arm-eabi 区别:http://blog.csdn.net/mantis_1984/article/details/21049273
What’s the difference between arm-linux- / arm-none-linux-gnueabi- / arm-fsl-linux-gnueabi- in LTIB?https://community.freescale.com/thread/313490

转载:https://blog.csdn.net/chuanzhilong/article/details/52831511arm-linux-gcc

  1. arm-none-linux-gnueabi-gcc编译器

arm-none-linux-gnueabi-gcc是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。
1.1 Mentor网站

下载地址为:http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/

https://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/

它提供许多版本下载

(1)Linux解压版:在Linux主机(如Ubuntu、RedHat等)直接解压即可使用。

           如“arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2”

    (2)Linux安装版:在Linux主机下执行后按照提示安装后使用。

              如“arm-2014.05-29-arm-none-linux-gnueabi.bin”
    

      (3)Windows解压版:在Windows系统下解压后使用,但是需要MingW32。

               如“arm-2014.05-29-arm-none-linux-gnueabi-i686-mingw32.tar.bz2”
      

        (4)Windows安装版:在Windows系统下安装后使用。

                 如“arm-2014.05-29-arm-none-linux-gnueabi.exe”
        

          (5)源码版:交叉编译器源代码,一般很少用到。

                   如“arm-2014.05-29-arm-none-linux-gnueabi.src.tar.bz2”
          

            (6)RPM安装版:RedHat系统安装包,新版本不提供该类安装包。

            另外该网站还有许多其他架构平台(misp、x86、powerpc)的编译器,下载地址为:http://sourcery.mentor.com/public/gnu_toolchain/
            1.2 arm官网

            arm官网也提供交叉编译器的下载,下载地址为:https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads

            1.3 linaro官网

            Linaro 公司基于GCC推出的的ARM交叉编译工具,下载地址为: https://releases.linaro.org/components/toolchain/binaries/
            2. gcc编译器

            下载地址为:ftp://ftp.gnu.org/gnu/gcc
            3.命名规则

            交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]

            arch – 体系架构,如ARM,MIPS
            vendor – 工具链提供商
            os – 目标操作系统
            eabi – 嵌入式应用二进制接口(Embedded Application Binary Interface)
            

              根据对操作系统的支持与否,ARM GCC可分为支持和不支持操作系统,如

              arm-none-eabi:这个是没有操作系统的,自然不可能支持那些跟操作系统关系密切的函数,比如fork(2)。他使用的是newlib这个专用于嵌入式系统的C库。
              arm-none-linux-eabi:用于Linux的,使用Glibc
              

                [1] codeSourcery交叉编译环境,arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别
                http://blog.csdn.net/aiqing0119/article/details/46887581

                Arm-linux-gcc交叉编译器下载与安装相关推荐

                1. linux编译freebsd,freebsd下作x86/arm linux的交叉编译器

                  freebsd下作x86/arm linux的交叉编译器 2009-05-13 01:40:08来源:未知 阅读 () 以纯粹的源码编译交叉编译器,还是头一遭.以往都是利用目标主机上的头文件和库文件作 ...

                2. linux交叉编译出现的问题,,Ubuntu 14.10下安装GCC交叉编译器遇到问题及解决方法

                  Ubuntu 14.10下安装GCC交叉编译器遇到问题及解决方法 一.下载gcc-arm-none-eabi-4_9 安装成功后上报错误: ./gcc-arm-none-linux-gnueabi-g ...

                3. Ubuntu12.4 64位 安装 arm linux gcc 4.3.2

                  一.下载arm linux gcc 4.3.2 http://pan.baidu.com/share/link?shareid=1575352696&uk=2754759285&fid ...

                4. vxworks gcc linux,针对VxWorks的GCC交叉编译器无法编译C++

                  我试图移植Linux库以在VxWorks上运行.我已经成功构建了binutils和gcc,目标为i486-wrs-vxworks,我可以成功构建一个简单的C程序.但是,当我尝试编译C++时,事情就会中 ...

                5. aarch64-linux-gnu交叉编译器二进制方式安装

                  aarch64-linux-gnu交叉编译器二进制方式安装 安装方法 1.下载交叉编译器 aarch64-linux-gnu 2.创建文件夹 sudo mkdir /usr/local/arm 3.解 ...

                6. centos arm linux gcc,CentOS安装arm-linux-gcc交叉编译器

                  (注:首先需要明确需要安装centos系统的位数,即是32位的还是64位的.) 1.下载并解压文件:下载arm-linux-gcc-4.4.3.tgz到任意的目录下,进入这个文件夹 输入命令:# ta ...

                7. arm linux gcc交叉编译,arm-linux-gcc交叉编译器安装

                  在网上下载arm-linux-gcc-4.4.3.tar.gz. 1.解压#tar -zxvf arm-linux-gcc-4.4.3.tar.gz 2.打开解压目录,将FriendlyARM文件夹拷 ...

                8. arm交叉编译器下载

                  怎么就这一种... gcc-arm-none-eabi 类型下载 https://developer.arm.com/open-source/gnu-toolchain/gnu-rm 下载链接 gcc ...

                9. 2019-11-07 检查gcc交叉编译器预定义宏(ARM32/ARM64/X86-64)以及对浮点数的支持情况

                  预备知识1 armel.armhf和arm64区别选择 https://www.veryarm.com/872.html 预备知识2 https://www.veryarm.com/872.html ...

                最新文章

                1. 命令行运行Python脚本时传入参数的三种方式
                2. 小猿圈Python之实现京东秒杀功能代码
                3. PyTorch环境下对BERT进行Fine-tuning
                4. pytorch打印模型参数_Pytorch网络压缩系列教程一:Prune你的模型
                5. ANSI C中的CRC16参考实现
                6. 罗技键盘linux,logiops,在 Linux下设置罗技鼠标的按键和手势
                7. LeetCode 1722. 执行交换操作后的最小汉明距离(并查集)
                8. java 动态代理范例 InvocationHandler与Proxy
                9. cmake使用介绍【转】
                10. 豆丁当当免费下载神器
                11. 【CTF整理】电子取证之Easy_dump(18护网杯)
                12. JAVA解题【We Are A Team】
                13. 百度卫士+7654联盟
                14. python通过经纬度在地图标点_只要两步,用Python将地址标记在地图上!
                15. 自己开发基于Web的打印控件,真正免费不是共享
                16. kaggle竞赛之Hungry Geese比赛
                17. API汇总;API大全(转载)
                18. Python基础与拾遗1:Python中的数字
                19. 400多个免费在线编程与计算机科学课程
                20. 华为“啃”苹果 | 一点财经

                热门文章

                1. Word文档很乱怎么办 杂乱的文章word排版教程
                2. windows驱动开发——环境搭建
                3. UIPATH Orchestrator配置
                4. Spring Data Querydsl-JPA 的简单入门笔记
                5. 【实际操作】DenseFusion复现过程详解-YCB-Video数据集
                6. iOS 手势的使用 六个手势 轻拍 长按 拖拽 捏合 轻扫 旋转
                7. Linux快捷键汇总(持续更新)
                8. WebView独立进程方案-基于腾讯X5的二次封装
                9. 塔架涡激振动的计算方法——基于EuroCode和GB
                10. Delphi获取android 文件路径,发一个Delphi 从 .lnk 文件获取真正路径的程序