【linux】UBUNTU 12.04下傻瓜式简单安装arm-linux-gcc等gnu arm toolchain交叉编译工具
欢迎转载,转载时请保留作者信息,谢谢。
博客园地址:http://www.cnblogs.com/embedded-tzp
Csdn博客地址:http://blog.csdn.net/xiayulewa
原文链接: http://blog.csdn.net/xiayulewa/article/details/19784793
这篇文章是我写的,xiayuleWA 是我在csdn的账号。
1. 验证无误的工具链安装(能正常编译linux,busybox等):
可以去这个地址下载工具链,是作者上传的,要2分,当是辛苦分了,要免费的可以去min2440官网下载,地址我在下面也贴出来了。
CSDN下载链接:http://download.csdn.net/detail/xiayulewa/8615245
免费版的:http://arm9download.cncncn.com/mini2440/linux/arm-linux-gcc-4.4.3-20100728.tar.gz
使用方法:
解压到某个文件夹(目录),如/usr/local/arm-cross-tool/下,再添加环境变量就OK了,如在/etc/profile文件后添加:
#arm-linux-gcc
export PATH=$PATH:/usr/local/arm-cross-tool/friendly/toolschain/4.4.3/bin,交叉工具就可以用了(当然在shell中需要source /etc/profile).
eg: arm-linux-gcc -Wall arm_main.c
2. 下面官方原版安装,下面的文章是之前写的,那时并没有完全验证,所以实际使用会有些问题,编译linux内核没问题,但是编译busybox时会因缺少某些库出错,当然可以自己去完善工具链,但是那就太麻烦了,所以下面的文章仅供阅读,实用性不大了。
如果是ubuntu 12.04,输入:
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded ;sudo apt-get update ; sudo apt-get install gcc-arm-none-eabi;
cd /usr/bin;
ls | gawk '{if(match($0, "(arm-none-eabi-)(.*)", arr)){system("sudo ln " arr[1] arr[2] " arm-linux-"arr[2])}}';
arm-linux-gcc等工具链就安装好了,如果你是实用主义者,那就直接跳到华丽的分割线后去吧,下面的东西可以跳过。
去官网 https://launchpad.net/~terry.guo/+archive/gcc-arm-embedded
按照其步骤安装就是了:我在ubunt 12.04安装成功的,其它版本没有试过,官网说支持:Ubuntu 10.04/12.04/13.04 32 and 64 bit。
Step1: Inside Ubuntu, open a terminal and input
"sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded"
Step2: Continue to input
"sudo apt-get update"
Step3: Continue to input to install toolchain
"sudo apt-get install gcc-arm-none-eabi"
简单翻译就是:
1. 打开terminal终端:为添加源,输入:
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
2:输入:sudo apt-get update
3:输入: sudo apt-get install gcc-arm-none-eabi
如果还想更偷懒,就把上面三条命令合在一起写了:
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded && sudo apt-get update && sudo apt-get install gcc-arm-none-eabi
-----------------------------------------------------------------------------------
---------------华丽的分割线--------------------------------------------------------
-----------------------------------------------------------------------------------
这样就安装好了,工具链路径在/usr/bin/目录下,具体可以用 ls | grep arm查看;
按照最开始的方法应该有arm-linux-gcc等了,如果不会awk,那就老实手动修改链接。
cd /usr/bin
sudo ln arm-none-eabi-gcc arm-linux-gcc
sudo ln arm-none-eabi-ar arm-linux-ar
.....
测试:建立test.c文件,内容
- #include <stdio.h>
- int main(void)
- {
- return 0;
- }
编译: arm-linux-gcc test.c
出错了?安装有问题?
不是,去官网:https://launchpad.net/gcc-arm-embedded,右边下载列处有readme.txt,点开看看就知道了,按照里面说明,按照其中一种方法重新编译:
arm-none-eabi-gcc --specs=rdimon.specs test.c
成功。
优点:缺少的依赖包ubuntu会自动帮忙下载,不用手动操作,工具是用来用的,如果花了太多时间在工具链的安装上,那么得不偿失,我之前就走了很多弯路,所以写了这篇文章,按照文中方法可以非常快速的安装交叉编译工具,欢迎转载,让更多的人免于交叉环境的安装之苦。
【linux】UBUNTU 12.04下傻瓜式简单安装arm-linux-gcc等gnu arm toolchain交叉编译工具的更多相关文章
- Ubuntu 12.04下虚拟磁带库mhvtl的安装和使用
项目需要连接一下昆腾虚拟磁带库DXI 6701 ,这玩意太贵,不好得到,先弄个虚拟软件测试了, 网上了一下,有这个软件: mhvtl 主页: https://sites.google.com/ ...
- ubuntu 12.04下 ns3的下载 安装
这个的内容我主要是参考了 http://blog.sina.com.cn/s/blog_7ec2ab360102wwsk.html 这个链接的学习,基本上过程没有出现的问题. 就是这个链接少了测试的一 ...
- Ubuntu 12.04下GAMIT10.40安装说明
转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0225/164.html?1456481297 Ubuntu 12.04下GAMIT10.40安装步 ...
- Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma
1.下载angularjs 进入其官网下载:https://angularjs.org/,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angular ...
- [转]ubuntu(12.04)下, 命令 ,内核 源代码的获取
[转]ubuntu(12.04)下, 命令 ,内核 源代码的获取 http://blog.chinaunix.net/uid-18905703-id-3446099.html 1.命令:例如:要查看l ...
- Ubuntu 12.04 下安装 Eclipse
方法一:(缺点是安装时附加openjdk等大量程序并无法去除,优点是安装简单) $ sudo apt-get install eclipse 方法二:(优点是安装内容清爽,缺点是配置麻烦)1.安装JD ...
- Ubuntu 12.04下安装QQ 2012 Beta3(转)
Ubuntu 12.04下安装QQ 2012 Beta3 由于wine的发展非常迅速.现在网上的利用老版本的wine来安装QQ2012的教程已经有些过时了.实际上操作起来非常简单: 第一步:Ctr ...
- [转载] Ubuntu 12.04下安装git,SSH及出现的Permission denied解决办法
如何安装ssh http://os.51cto.com/art/201109/291634.htm 仅需要阅读至成功开启ssh服务即可 http://www.linuxidc.com/Linux/20 ...
- Ubuntu 12.04下安装QQ 2012 Beta3
Ubuntu 12.04下安装QQ 2012 Beta3 由于wine的发展非常迅速.现在网上的利用老版本的wine来安装QQ2012的教程已经有些过时了.实际上操作起来非常简单: 第一步:Ctr ...
随机推荐
- cocos2dx进阶学习之CCNode
继承关系 CCNode -> CCObject CCNode在cocos2dx中抽象舞台对象,需要渲染的对象都是从CCNode派生,包括CCScene,CCLayer,CCSprite等等 C ...
- BZOJ 1610: [Usaco2008 Feb]Line连线游戏
1610: [Usaco2008 Feb]Line连线游戏 Description Farmer John最近发明了一个游戏,来考验自命不凡的贝茜.游戏开始的时 候,FJ会给贝茜一块画着N (2 &l ...
- LeetCode——Path Sum II
Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...
- Javascript 学习 笔记一
1.操作 HTML 元素 如需从 JavaScript 訪问某个 HTML 元素,您能够使用 document.getElementById(id) 方法. 请使用 &qu ...
- QQ邮箱添加公司邮箱步骤
经领导提示,发现QQ邮箱可以添加公司邮箱.这样,在有同事出差在外的时候,可以通过QQWEB邮箱,即可收发公司邮箱,不必安装邮箱客户端软件. 仅供各位同事参考使用. 1.打开QQ邮箱 2.点击其他邮箱, ...
- 【Hibernate】HQL new map
HQL 查询如果需要带出对象(比如:OneToOne子对象)的一两个属性,而不是全部带出.可以使用 select new map的方法带出. 1.lazy还是设置为false /**关联属性对象*/ ...
- HDU 1004 MAP【STL__map_的应用】
强大的MAP,今天终于开始好好学习一次. map内部是用红黑树维持的有序结构. 定义:map<int,string>mapStudent; 查找的时间复杂度为对数级别. 1.构造方法学习两 ...
- Socket编程模式
Socket编程模式 本文主要分析了几种Socket编程的模式.主要包括基本的阻塞Socket.非阻塞Socket.I/O多路复用.其中,阻塞和非阻塞是相对于套接字来说的,而其他的模式本质上来说是基于 ...
- linux下find命令-atime,-ctime,-mtime真正含义
linux下的-atime,-ctime,-mtime含义我们经常会在论坛或者群里面被问到,在linux或者unix下如何查看某文件的创建日期?经常又会有人说用find命令加选项-ctime,其实这里 ...
- kvm libvirt: hostdev passthrough support 解决加密狗冲突问题
From: "Daniel P. Berrange" <berrange redhat com> To: Guido Günther <agx sigxcpu o ...