arm-none-linux-gnueabi,arm-none-eabi 与arm-eabi 区别 及 arm-none-linux-gnueabi安装
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安装相关推荐
- arm交叉编译器gnueabi、none-eabi、arm-eabi等的区别
交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch – 体系架构,如ARM,MIPS vendor – 工具链提供商 os – 目标操作系统 ea ...
- linux使用交叉工具链产生的程序怎么下载到mini2440里,Ubuntu安装ARM架构GCC工具链(ubuntu install ARM toolchain)最简单办法...
一.安装ARM-Linux-GCC工具链 只需要一句命令: sudo apt-get install gcc-arm-linux-gnueabi 前提是你的Ubuntu系统版本是官网支持的最新的版本, ...
- arm linux goahead,goAhead 2.5嵌入式web服务器移植到arm9 2440 + linux中
本文内容概要:详细描述了移植goAhead 2.5到S3C2440的linux系统的过程.步骤.遇到的问题及其解决方法. 开发环境: 宿 主 机:window XP: 虚 拟 机: ...
- 带你一步步了解S5PV210-I~ARM历史,RISC和CISC的区别,ARM与三星,华为,高通这些的关系
首先我们比较直观的对S5PV210的了解就是它的外观,如下图: 这个上面直观的看到几个字母: SAMSUNG(三星,生产厂) S5PV210AH-A0(型号) ARM (内核厂家) 那首先我们就对三星 ...
- arm跑操作系统的意义_不太远的猜想:当ARM和鸿蒙OS在笔记本领域相遇,颠覆已无可避免...
每年八九月份的开学季,向来是笔记本电脑厂商的销售旺季.但在亲朋好友来咨询如何选择笔记本时,我们却很难做出推荐--能入法眼的真正有设计感.品质过硬的的笔记本,价格都在万元左右,而所谓高性价比的型号,往往 ...
- ARM CPU性能优化:FP32 、FP16 和BF16区别
转自:https://zhuanlan.zhihu.com/p/351297472 https://community.arm.com/cn/b/blog/posts/arm-891361032 今天 ...
- ARM TTBR0TTBR1寄存器与ARM32页表复制。TTBR0TTBR1两寄存器在ARM,ARM32,ARM64linux中分页管理页表基地址的存放不同,CP15 CP2控制TTBR01附加协处理
一,ARM TTBR0,TTBR1寄存器: 从ARMV6开始增加了TTBR1寄存器,但是在ARM32的时候,TTBR1寄存器未使用,原因如下: TTBR0和TTBR1寄存器只支持2G,1G,512M等 ...
- Linux下0号进程的前世(init_task进程)今生(idle进程)----Linux进程的管理与调度(五)【转】...
前言 Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) idle进程由系统自动创建, 运行在内核态 idle进程其pi ...
- Linux工程师新法宝:在Visual Studio上用C++ 写Linux
如今我们正在开发一个新的插件,一个能够让开发者在 Visual Studio (以下简称 VS ) 上建构能够在 Linux 上运行 C++ 程序的套件.开发者可以借由这个插件将 C++ 程序移转到 ...
- 什么是Linux发行版 以及各发行版的区别
什么是linux发行版 简单来说 Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包. Linux只是一个内核,不能直接当系统用. 内核是什么?内核建立了计算机软件与硬件之间通讯 ...
最新文章
- 被字节跳动T4级大佬鄙视了:让你10倍提升认知效率,就这3个方法!
- 一男子蒙冤入狱 10 天,竟是 AI 认错了!
- html语言技术基础,第2章Web编程基础HTML语言技术方案.ppt
- c语言 结构成员 变量引用,C++结构体变量的引用
- 服务器网站数据用什么方式加以保留?
- docker-engine安装好了,下一步该做什么?
- 【Python】掌握Python中的索引和切片
- 设计模式中类之间的关系
- 当网页太多时,用锚点 以及超链接的使用
- 前端学习(1871)vue之电商管理系统电商系统之路由导航守卫控制页面访问权限
- 如何学习数据结构和算法——大佬文章汇总
- Intel 64/x86_64/IA-32/x86处理器基本执行环境 (1) - 32位执行环境概述
- jsp自定义标签详解(2)
- C# 读取word2003 并且显示在界面上的方法
- C#数组和集合专题2(Array)
- 目前人工智能的主要研究方向是哪些?
- 李彦宏告诫年轻人:向前看两年
- 杨凌职业技术学院计算机专业宿舍,杨凌职业技术学院宿舍条件,宿舍图片和环境空调及分配方法...
- 25. object类中的一些方法分析
- OS/操作系统_清华大学(陈渝)笔记目录
热门文章
- linux deepin/ubuntu 搭nginx文件服务器配置
- Scala数组和Java集合List的互转
- eureka客户端获取服务列表时间间隔配置
- HDFS分布式文件系统理论知识
- RabbitMQ消息轮询重发消息(消息补偿)
- Spring Data ElasticSearch示例--查询索引库
- Java+Selenium爬贴吧
- mysql七种join理论
- leetcode(3)——414. 第三大的数(C++中的 set,::作用符号,迭代器),628 三个数的最大乘积(sort函数的用法)
- 极客时间《玩转Git三剑客》之GItHub剑客