1.arm-none-linux-gnueabi,arm-none-eabi 与arm-eabi 区别



arm-none eabi

链接工具命名:

    arch-vendor-(os-)abi

1、arm-none-linux-gnueabi (ARM architecture, no vendor, linux OS, and the gnueabi ABI)

        用于编译AR ot、linux内核、linux应用等

2、arm-none-eabi 

        用于编译ARM架构的裸机系统(包括linux的 boot、kernel)

3、arm-eabi 

 RM 编译器

arm-none-linux-gnueabi交叉编译器是codesourcery公司推出的,基于GCC,但是进行过优化的编译器。官方网站

 ​

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

arm-none-linux-gnueabi-xxx用它的最大理由我想应该是浮点运算。

结果​ 发现: int backtrace(void **buffer,int size) 在实际使用过程中,只能打印出空的调用堆栈

而arm-linux-gcc可以!


 


2.交叉编译器arm-none-linux-gnueabi-gcc


​ 


1.下载 arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

cp arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 /usr/local/

2.解压缩交叉编译工具链

cd /usr/local/

 tar -jxvf arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

3.配置环境变量

# vim /etc/bash.bashrc  在最后添加

PATH=$PATH:/usr/local/bin/arm-2009q1/bin

source  /etc/bash.bashrc 使其立刻生效

4.打开另一个终端

执行 arm-none-linux-gnueabi-gcc -v,显示版本即说明安装成功

root@ubuntu:/usr/local/arm-2009q1# arm-none-linux-gnueabi-gcc -v

Using built-in specs.

COLLECT_GCC=arm-none-linux-gnueabi-gcc

COLLECT_LTO_WRAPPER=/opt/FriendlyARM/toolschain/4.5.1/libexec/gcc/arm-none-linux-gnueabi/4.5.1/lto-wrapper

Target: arm-none-linux-gnueabi

Configured with: /work/toolchain/build/src/gcc-4.5.1/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.5.1 --with-sysroot=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root --enable-languages=c,c++ --disable-multilib --with-cpu=arm1176jzf-s --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=softfp --with-pkgversion=ctng-1.8.1-FA --with-bugurl=http://www.arm9.net/ --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-gmp=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-mpfr=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-ppl=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-cloog=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-mpc=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-libelf=/work/toolchain/build/arm-none-linux-gnueabi/build/static --enable-threads=posix --with-local-prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root --disable-nls --enable-symvers=gnu --enable-c99 --enable-long-long

Thread model: posix

gcc version 4.5.1 (ctng-1.8.1-FA) 

root@ubuntu:/usr/local/arm-2009q1#

如果不行,重新启动在执行上述命令查看。

 ​