本人的开发环境是ubuntu12.05的64版本,运行在11.00的虚拟机上。首先说明为什么需要搭建交叉编译环境。我们知道,我们的开发一般在PC机上,是基于X86架构的,而我们的开发板却是基于ARM架构的。如果在PC主机上编辑编译我们的程序,那编译时按照X86架构来进行的,这样的话编译的二进制代码就无法再ARM开发板上运行,所以我们需要安装交叉编译环境,既方便我们在PC主机上进行编辑, 又能在开发板子上运行起来。

一般来说, 交叉编译工具集一般芯片厂商会提供编译好的工具链。但也可以自己动手编译交叉工具链。这里我选择的友善之臂提供的工具链--arm-linux-gcc-4.5.1-v6-vfp-20120301.tar。

在ubuntu中进行安装,其实就是个解压缩的过程,解压到linux中的标准目录。好了,废话不多说了,下面进行安装:

  • 1. 将压缩包拷贝到共享目录下, 在ubuntu中进入共享目录;
  • 2. 进行压缩包解压, 敲入命令sudo tar -zxvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tar -C /;这里需要注意的是tar包的解压命令, 还有-C是大写的C, 表示改变要安装的目录,后面跟的就是要安装的目录, 因为产家制作的时候就已经打包好了,就直接写根目录就行了; 
  • 3.解压成功后就可以在解压信息中看到解压到的目录中,打开该目录,就可以看到各个文件夹了。
  • 4.使用交叉编译工具链有两个方式:一个是使用绝对路径的方法, 比如我的是敲击命令$ /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc -o build 1.c;另一个是使用简单方法, 直接敲命令arm-linux-gcc -o build 1.c,但这种方法需要配置环境变量。
  • 5.配置环境变量, sudo vi etc/environment后在后面添加:opt/FriendlyARM/toolschain/4.5.1/bin/,保存退出,之后再更新一下就可以了,source etc/environment,以后就可以用相对路劲的方法编译了,编译时直接敲arm-linux-gcc -o build 1.c。 
  • 6. 特别注意:因为这个工具链是针对32位平台的,如果是64位ubuntu的话,还需要安装sudo apt-get install ia32-libs一些32位的库就可以了。

Linux系统移植(1) ------搭建交叉编译环境的更多相关文章

  1. 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)

    深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...

  2. Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1

    交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux- ...

  3. freescale-sdk linux移植一搭建编译环境脚本host-prepare.sh分析

    接下来使用自己的课外歇息时间,对基于PowerPC架构freescale-sdk,进行linux移植和分析.主要參考官方文档freescale linux sdk START_HERE.html,首先 ...

  4. 嵌入式linux系统移植(一)

    内容:   交叉编译环境   bootloader功能子系统   内核核心子系统   文件系统子系统要点:  搭建交叉编译环境  bootloader的选择和移植  kernel的配置.编译.移植和调 ...

  5. Linux系统VPS/服务器安装WINDOWS桌面环境可以采用的几个方法

    我们公司的几个项目需要在WINDOWS桌面类型的界面操作,哪怕仅有一个浏览器远程操作也是可以的,我们运维部门得到的任务就是需要能在已有的Linux系统的VPS.服务器环境中能够远程操作,至少需要能可以 ...

  6. 在本机使用虚拟机安装一个linux系统,并搭建ftp服务器

    一.Linux基础使用:linux服务器环境搭建(FTP服务器), 在本机使用虚拟机安装一个linux系统,并搭建ftp服务器,要求能使用ftp服务将本机文件到保存linux虚拟机上 资料: VMwa ...

  7. linux下的服务器搭建集成环境

    linux下的服务器搭建集成环境 ——写给初学者的我们 1.准备工具 1.1 SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录 ...

  8. linux系统下本地搭建git服务器

    linux系统下如何搭建本地git服务器,用于存放团队的开发代码,如下步骤: 1.先用一台服务器来安装git,安装好linux以后,在这里选用的是Ubuntu 14.04.然后配置静态IP:172.1 ...

  9. MiniCRT 64位 linux 系统移植记录:64位gcc的几点注意

    32位未修改源码与修改版的代码下载: git clone git@github.com:youzhonghui/MiniCRT.git MiniCRT 64位 linux 系统移植记录 MiniCRT ...

随机推荐

  1. 【C#进阶】override new virtual

    class Organ { public virtual void Intro() { Console.WriteLine("I'm a organ."); } public st ...

  2. 【转】mybatis实战教程(mybatis in action),mybatis入门到精通

    MyBatis 目录(?)[-] mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis ...

  3. jQuery CSS操作及jQuery的盒子模型

    jQuery CSS-jQuery CSS方法 jQuery CSS-jQuery盒子模型

  4. 常用的Linux命令

    1.如何创建一个目录?mkdir DirectoryName 2.如何进入服务器根目录?ls / 3.如何查看日历?cal 4.如何修改密码?passwd 5.如何查看当前用户信息?whoami 6. ...

  5. html5 离线存储

    在html页面中引入manifest文件 <html manifest="sample.appcache"> 在服务器添加mime-type text/cache-ma ...

  6. iOS传值之block传值(一)

    ios4.0系统已开始支持block,在编程过程中,blocks被Obj-C看成是对象,它封装了一段代码,这段代码可以在任何时候执行.Blocks可以作为函数参数或者函数的返回值,而其本身又可以带输入 ...

  7. SQLServer 游标 (A)

    游标 游标分为客户端游标和服务器端游标.Sql通过游标可以对一个结果集进行逐行处理.对于使用服务器端游标的过程有:声明.打开.读取.关闭.释放. 1 声明游标 1.1 SQL-92标准的声明 Decl ...

  8. AngularJS中控制器之间通信方法

    在同个angular应用的控制器之间进行通信可以有很多种不同的方式,本文主要讲两种: 基于scope继承的方式和基于event传播的方式 基于scope继承的方式 最简单的让控制器之间进行通信的方法是 ...

  9. 自定义指令-directive (转)

    1.指令作用域中的@ 作用是把当前属性作为字符串传递. 前台代码: <div ng-controller="MyCtrl">       <drink water ...

  10. Linux_用户级_常用命令(5):rm

    Linux常用命令第5集包含命令:rm 开篇语:懒是人类进步的源动力 本文原创,专为光荣之路公众号所有,欢迎转发,但转发请务必写出处! 一.命令简介 删除一个目录中的一个或多个文件或目录,如果没有使用 ...