Red Point

十年饮冰 , 热血难凉 ; 山高万仞 , 只登一步

  博客园 :: 首页 :: 博问 :: 闪存 :: :: :: :: 管理 ::

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

arm-none-Linux-gnueabi
链接工具命名:
    arch-vendor-(os-)abi

1、arm-none-linux-gnueabi (ARM architecture, no vendor, linux OS, and the gnueabi ABI)
        用于编译ARM架构的u-boot、linux内核、linux应用等
2、arm-none-eabi 
        用于编译ARM架构的裸机系统(包括linux的 boot、kernel)
3、arm-eabi 
        Android ARM 编译器

arm-none-linux-gnueabi交叉编译器是codesourcery公司推出的,基于GCC,但是进行过优化的编译器。官方网站
http://www.codesourcery.com/
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


Ubuntu 12.10安装交叉编译器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#

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

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

posted on 2017-02-20 18:37  Red_Point  阅读(961)  评论(0)    收藏  举报