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

转载于:https://www.cnblogs.com/tureno/articles/6420877.html

arm-none-linux-gnueabi,arm-none-eabi 与arm-eabi 区别 及 arm-none-linux-gnueabi安装相关推荐

  1. arm交叉编译器gnueabi、none-eabi、arm-eabi等的区别

    交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch – 体系架构,如ARM,MIPS vendor – 工具链提供商 os – 目标操作系统 ea ...

  2. linux使用交叉工具链产生的程序怎么下载到mini2440里,Ubuntu安装ARM架构GCC工具链(ubuntu install ARM toolchain)最简单办法...

    一.安装ARM-Linux-GCC工具链 只需要一句命令: sudo apt-get install gcc-arm-linux-gnueabi 前提是你的Ubuntu系统版本是官网支持的最新的版本, ...

  3. arm linux goahead,goAhead 2.5嵌入式web服务器移植到arm9 2440 + linux中

    本文内容概要:详细描述了移植goAhead 2.5到S3C2440的linux系统的过程.步骤.遇到的问题及其解决方法. 开发环境: 宿    主   机:window XP: 虚    拟   机: ...

  4. 带你一步步了解S5PV210-I~ARM历史,RISC和CISC的区别,ARM与三星,华为,高通这些的关系

    首先我们比较直观的对S5PV210的了解就是它的外观,如下图: 这个上面直观的看到几个字母: SAMSUNG(三星,生产厂) S5PV210AH-A0(型号) ARM (内核厂家) 那首先我们就对三星 ...

  5. arm跑操作系统的意义_不太远的猜想:当ARM和鸿蒙OS在笔记本领域相遇,颠覆已无可避免...

    每年八九月份的开学季,向来是笔记本电脑厂商的销售旺季.但在亲朋好友来咨询如何选择笔记本时,我们却很难做出推荐--能入法眼的真正有设计感.品质过硬的的笔记本,价格都在万元左右,而所谓高性价比的型号,往往 ...

  6. ARM CPU性能优化:FP32 、FP16 和BF16区别

    转自:https://zhuanlan.zhihu.com/p/351297472 https://community.arm.com/cn/b/blog/posts/arm-891361032 今天 ...

  7. ARM TTBR0TTBR1寄存器与ARM32页表复制。TTBR0TTBR1两寄存器在ARM,ARM32,ARM64linux中分页管理页表基地址的存放不同,CP15 CP2控制TTBR01附加协处理

    一,ARM TTBR0,TTBR1寄存器: 从ARMV6开始增加了TTBR1寄存器,但是在ARM32的时候,TTBR1寄存器未使用,原因如下: TTBR0和TTBR1寄存器只支持2G,1G,512M等 ...

  8. Linux下0号进程的前世(init_task进程)今生(idle进程)----Linux进程的管理与调度(五)【转】...

    前言 Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) idle进程由系统自动创建, 运行在内核态 idle进程其pi ...

  9. Linux工程师新法宝:在Visual Studio上用C++ 写Linux

    如今我们正在开发一个新的插件,一个能够让开发者在 Visual Studio (以下简称 VS ) 上建构能够在 Linux 上运行 C++ 程序的套件.开发者可以借由这个插件将 C++ 程序移转到 ...

  10. 什么是Linux发行版 以及各发行版的区别

    什么是linux发行版 简单来说 Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包. Linux只是一个内核,不能直接当系统用. 内核是什么?内核建立了计算机软件与硬件之间通讯 ...

最新文章

  1. 被字节跳动T4级大佬鄙视了:让你10倍提升认知效率,就这3个方法!
  2. 一男子蒙冤入狱 10 天,竟是 AI 认错了!
  3. html语言技术基础,第2章Web编程基础HTML语言技术方案.ppt
  4. c语言 结构成员 变量引用,C++结构体变量的引用
  5. 服务器网站数据用什么方式加以保留?
  6. docker-engine安装好了,下一步该做什么?
  7. 【Python】掌握Python中的索引和切片
  8. 设计模式中类之间的关系
  9. 当网页太多时,用锚点 以及超链接的使用
  10. 前端学习(1871)vue之电商管理系统电商系统之路由导航守卫控制页面访问权限
  11. 如何学习数据结构和算法——大佬文章汇总
  12. Intel 64/x86_64/IA-32/x86处理器基本执行环境 (1) - 32位执行环境概述
  13. jsp自定义标签详解(2)
  14. C# 读取word2003 并且显示在界面上的方法
  15. C#数组和集合专题2(Array)
  16. 目前人工智能的主要研究方向是哪些?
  17. 李彦宏告诫年轻人:向前看两年
  18. 杨凌职业技术学院计算机专业宿舍,杨凌职业技术学院宿舍条件,宿舍图片和环境空调及分配方法...
  19. 25. object类中的一些方法分析
  20. OS/操作系统_清华大学(陈渝)笔记目录

热门文章

  1. linux deepin/ubuntu 搭nginx文件服务器配置
  2. Scala数组和Java集合List的互转
  3. eureka客户端获取服务列表时间间隔配置
  4. HDFS分布式文件系统理论知识
  5. RabbitMQ消息轮询重发消息(消息补偿)
  6. Spring Data ElasticSearch示例--查询索引库
  7. Java+Selenium爬贴吧
  8. mysql七种join理论
  9. leetcode(3)——414. 第三大的数(C++中的 set,::作用符号,迭代器),628 三个数的最大乘积(sort函数的用法)
  10. 极客时间《玩转Git三剑客》之GItHub剑客