交叉编译环境搭建的原因:通俗上讲,因为嵌入式系统可用资源比较少:几十M的ARM 二三百M的flash相对我们的pc机来说资源真的没法比。所以,为了解决这种局面就将PC机等作为主机,搭建开发环境,进行编译,连接等工作,将编译好的可执行文件bin,image,等烧录到目标机上运行。所以就有了交叉编译环境这一说。本人新手,经过google和实际的努力搭建起了 arm-linux-gcc-3.4.1编译环境。基本过程如下,希望对初学者有所帮助。

经过昨天下午到现在的搜索,google,终于将arm-linux-gcc交叉编译开发环境搭建起来。写篇日志记录一下整个的过程。

1、昨天开始对着开发手册进行交叉编译环境的搭建,当然了第一次自然会遭受到N个打击。因为是新手遇到问题的第一反应自然是google,毕竟去大脑里搜索经验是白搭的,大脑里记忆存储几乎为零。

2、网上各种搭建方法,大体上也都差不多,对于很多细节各不相同,当然了各种尝试都试过了。依然不成功。

3、对于搭建环境过程中的反思-依然不熟悉linux目录,大多数的方法都是讲arm-linux-gcc-x.x.x.tar.gz拷贝到自己喜欢的目录下执行解压。比如说home/work等自己建立的目录。这些都无所谓。执行的解压命令对于tar.gz格式文件àtar–zxvf arm-linux-gcc-3.4.1.tar.gz(本人的实际操作).从实际上来说解压过程并不复杂,也不麻烦。解压完毕自然能在你当前文件夹底下看到解压文件。本人实际操作—> /home/work/usr/local/arm/3.4.1

4、然后网上基本上都是执行cp命令将arm文件夹copy到/usr/local中去。其实第一次copy的时候我还郁闷呢。在我建立的目录底下就已经是这样了怎么还需要拷贝呢。其实后来我才明白。我是混淆了绝对路径和相对路径的问题。如果您执行 #cd /   那么您就回到了根目录底下。”/”代表根目录的意思,那么 #cd usr/local/     #cp –rv arm /usr/local 这两条命令就会将/home/work/usr/local/arm这个arm文件夹copy到/usr/local/中去。是拷贝到了根目录的usr/local/下。  我的错误之处。我执行cd命令的时候由于忽略了最前边”/”的存在当成了相对路径。 首先错误的执行了 #cd /usr/local此时我以为我进入的是home/usr/local/下(注意此时home前边没有/)实际上我是进入了/usr/local/所以执行copy的时候就会报错,如果此时弄明白了,那么接下来的环境变量的添加也就很容易了。

5、环境变量的添加à网上大多是执行# vim/etc/bash.bashrc或者是# gedit /etc/bash.bashrc.别怪我多啰嗦一句,这也是进入了根目录下的etc文件夹下的bash.bashrc文件。我的机器不能执行vim(我也不知道什么原因,烦劳知道的朋友告诉声)。所以我就使用了vi命令进行修改。具体过程如下à# vi/etc/bash.bashrc     打开文件然后使用vi命令Esc 确保进入命令模式,然后按G进入文件尾,然后按$进入行尾,然后按o 添加尾行,写入命令à

exportPATH=$PATH:/usr/local/arm/3.4.1/bin

exportPATH 了解bash的对于这两句就so easy了。添加变量,在环境变量的末尾添加上解压路径(额对于不太熟悉bash 和vi的童鞋请自己去掌握à针对新手)exportà用来定义一个环境变量。。。

6、环境变量添加完毕,接下来网上的多数资料基本上都是说运行#source /root/.bashrc那么就不用重启了。这一点我倒是赞同的,毕竟我也没有在安装完毕后重启机子,运行命令后确实能解决问题,然后运行 #echo $PATH  进行环境变量的查看,由于我们第5条的写入方法export PATH=$PATH:………这就表明了我们添加的环境变量时添加到了PATH的后边,所以虽然有很多usr/local/bin但是最尾部的才是我们自己添加进去的。 如果看到了我们的变量。那么运行7、

7、#arm-linux-gcc-3.4.1–v呵呵或许就是最后一步了,其实对于大多数筒子来说不是的,执行之后或terminal会提示你 No file or directory之类的话,总而言之提示你找不到arm-linux-gcc的文件或者目录。好纠结额,按照网上大多数的介绍做了实际效果却没有安装成功。这是怎么回事呢。嗯这个问题也纠结了我很久。表示我也还没解决这个问题。但是我知道这大概是由什么引起的。此时请你想一下你的ubuntu是不是64位的系统?如果是的话那么就对了。因为ubuntu64-32兼容性不是很好,所以你是缺少32位运行库,那么网上的介绍是这样的运行#sudo apt-get install ia32-libs进行升级32位兼容库。如果您的网速还可以,人品也还可以,那么就会自动下载安装库,问题也就解决了。如果不成功那么请找方法安装兼容库去吧,此时问题就不是您会不会安装交叉编译环境了,不好意思。由于我的机子上有win7 64位系统,ubuntu12.10 64位系统的双系统,结果我也悲剧了,倒腾了半天,突然想起来,win7里边我有vmware的,里边有个ubuntu12.10和13.04去看看哪个是32位的。幸运的狠我的vmware12.10是32位的

8、顺便提醒一下对于vmware不相应u盘的问题:那么请à我的电脑à右键à管理à服务和应用程序à服务à找到相关VMWARE的相关项,启动起来里边有关于usb 服务的请启动,vmware就会响应u盘。

9、这基本上就是我安装arm-linux-gcc的简略过程。其实网上多数的教程也是可用的,只是像我这样的新手对新事物了解的不通透,而他们介绍的有的地方太简略,导致卡在一个地方就过不去了。现在再去让我安装交叉编译环境丝毫不用去看教程了。熟能生巧。就是这样的。

2013-7-1516:25:40

ubuntu12.10下arm-linux-gcc交叉编译环境的搭建的更多相关文章

  1. Linux嵌入式交叉编译环境 的搭建【转】

    转自:http://blog.csdn.net/woaixiaozhe/article/details/7395435 1. 安装标准的C开发环境,由于Linux安装默认是不安装的,所以需要先安装一下 ...

  2. Ubuntu12.4 64位 安装 arm linux gcc 4.3.2

    一.下载arm linux gcc 4.3.2 http://pan.baidu.com/share/link?shareid=1575352696&uk=2754759285&fid ...

  3. 【Linux学习】Ubuntu下嵌入式交叉编译环境arm-linux-gcc搭建

    (1)首先选择一个路径用来存放arm-linux-gcc.我选用的是/home/book,并在以下建立一个目录arm-linux-gcc. (2)利用cp EABI-4.3.3_Emdedsky_20 ...

  4. Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解

    转载:王文松的博客Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解 安装环境       Linux版本:Ubuntu 12.04    内核版本:Linux 3.5.0 ...

  5. ARM-Linux Gcc 交叉编译环境搭建

    1 NFS网络文件系统搭建 测试宿主机与目标板ping通 目标板上某个文件夹(例如mnt)挂载到宿主机(192.168.1.111)的/home/nfs_dir文件夹下 mount –t nfs –o ...

  6. ubuntu12.10下OpenFoam的编译

    最近在ubuntu12.10下编译OpenFoam,遇到一些问题,小记一下. 首先到官网下载源码包(我这里下载的是OpenFOAM-2.3.0.tgz,ThirdParty-2.3.0.tgz). 1 ...

  7. SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建

    最近做的项目,由于预算有限,公司决定不采购Windows服务器,而采购基于Linux的服务器. 一般的VPS服务器,如果使用Windows系统,那么Windows Server2012\2016安装好 ...

  8. 在Windows下配置Linux远程开发环境

    在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...

  9. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

随机推荐

  1. 【转】linux下 postgres的一些操作总结

    参考博文: PostgreSQL详解     1. 基本操作命令 安装完成后,PostgreSQL默认创建了名为postgres数据库用户账户,其与MySQL的root以及SQL Server的sa账 ...

  2. 说说关于php内置函数curl_init()

    昨天在我本地的项目,调试时碰到无法识别curl_init()方法,网上查了查才知道是我本地的php.ini文件里没加载上,完了把extension=php_curl.dll前面的;去掉后就好了,注意一 ...

  3. jetty插件开发配置

    <plugins> <!-- jetty插件 --> <plugin> <groupId>org.mortbay.jetty</groupId&g ...

  4. IE保护模式下ActiveX控件打不开共享内存的解决方案

    原文:http://www.cppblog.com/Streamlet/archive/2012/10/25/193831.html 感谢溪流漫话的投递 IE保护模式下,ActiveX控件会打不开别的 ...

  5. 用Eclipse做Android开发时出现java.lang.NoClassDefFoundError问题

    之前有遇到过这个问题,后来解决了,今天又遇到了,但是忘了当时是怎么解决的,费了好长时间,终于又找回解决的方法,现在记录下来,以防以后又遇到. 这个错误出现在我的某一个Activity,但是我反复确认了 ...

  6. perl 当前包会覆盖父类的同名方法

    12.5.2 访问被覆盖的方法: 当一个类定义一个方法,那么该子过程覆盖任意基类中同名的方法. [root@wx03 test]# cat Horse.pm package Horse; our @I ...

  7. 学IT技术 轻松高薪就业

    如今的社会是大鱼吃小鱼的时代,假设你没有过强的技术,是非常难在社会上立足,更不要谈占有一席之地了.假设你想学一门好技术,那你想知道如今学什么技术好吗?我想这要看如今市场须要什么人才,缺什么人才.同一时 ...

  8. 【视频】零基础学Android开发:蓝牙聊天室APP(四)

    零基础学Android开发:蓝牙聊天室APP第四讲 4.1 ListView控件的使用 4.2 BaseAdapter具体解释 4.3 ListView分布与滚动事件 4.4 ListView事件监听 ...

  9. android第一天-------环境搭建

    今天正式第一天学习android的. 1.昨晚下班后回家跟同事刘江龙打了四把dota.还好,都赢了把对面虐成狗了.大多都是1300到1450的局,玩的很爽. 2.dota打完后给在湖南常德的女朋友打了 ...

  10. [转]java开发环境搭建

    分成两个部分: 1.下载安装jdk,并配置环境变量 链接:http://www.runoob.com/java/java-environment-setup.html 2.安装Eclipse 链接:h ...