Linux系统移植(1) ------搭建交叉编译环境
本人的开发环境是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) ------搭建交叉编译环境的更多相关文章
- 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)
深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...
- Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1
交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux- ...
- freescale-sdk linux移植一搭建编译环境脚本host-prepare.sh分析
接下来使用自己的课外歇息时间,对基于PowerPC架构freescale-sdk,进行linux移植和分析.主要參考官方文档freescale linux sdk START_HERE.html,首先 ...
- 嵌入式linux系统移植(一)
内容: 交叉编译环境 bootloader功能子系统 内核核心子系统 文件系统子系统要点: 搭建交叉编译环境 bootloader的选择和移植 kernel的配置.编译.移植和调 ...
- Linux系统VPS/服务器安装WINDOWS桌面环境可以采用的几个方法
我们公司的几个项目需要在WINDOWS桌面类型的界面操作,哪怕仅有一个浏览器远程操作也是可以的,我们运维部门得到的任务就是需要能在已有的Linux系统的VPS.服务器环境中能够远程操作,至少需要能可以 ...
- 在本机使用虚拟机安装一个linux系统,并搭建ftp服务器
一.Linux基础使用:linux服务器环境搭建(FTP服务器), 在本机使用虚拟机安装一个linux系统,并搭建ftp服务器,要求能使用ftp服务将本机文件到保存linux虚拟机上 资料: VMwa ...
- linux下的服务器搭建集成环境
linux下的服务器搭建集成环境 ——写给初学者的我们 1.准备工具 1.1 SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录 ...
- linux系统下本地搭建git服务器
linux系统下如何搭建本地git服务器,用于存放团队的开发代码,如下步骤: 1.先用一台服务器来安装git,安装好linux以后,在这里选用的是Ubuntu 14.04.然后配置静态IP:172.1 ...
- MiniCRT 64位 linux 系统移植记录:64位gcc的几点注意
32位未修改源码与修改版的代码下载: git clone git@github.com:youzhonghui/MiniCRT.git MiniCRT 64位 linux 系统移植记录 MiniCRT ...
随机推荐
- 【C#进阶】override new virtual
class Organ { public virtual void Intro() { Console.WriteLine("I'm a organ."); } public st ...
- 【转】mybatis实战教程(mybatis in action),mybatis入门到精通
MyBatis 目录(?)[-] mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis ...
- jQuery CSS操作及jQuery的盒子模型
jQuery CSS-jQuery CSS方法 jQuery CSS-jQuery盒子模型
- 常用的Linux命令
1.如何创建一个目录?mkdir DirectoryName 2.如何进入服务器根目录?ls / 3.如何查看日历?cal 4.如何修改密码?passwd 5.如何查看当前用户信息?whoami 6. ...
- html5 离线存储
在html页面中引入manifest文件 <html manifest="sample.appcache"> 在服务器添加mime-type text/cache-ma ...
- iOS传值之block传值(一)
ios4.0系统已开始支持block,在编程过程中,blocks被Obj-C看成是对象,它封装了一段代码,这段代码可以在任何时候执行.Blocks可以作为函数参数或者函数的返回值,而其本身又可以带输入 ...
- SQLServer 游标 (A)
游标 游标分为客户端游标和服务器端游标.Sql通过游标可以对一个结果集进行逐行处理.对于使用服务器端游标的过程有:声明.打开.读取.关闭.释放. 1 声明游标 1.1 SQL-92标准的声明 Decl ...
- AngularJS中控制器之间通信方法
在同个angular应用的控制器之间进行通信可以有很多种不同的方式,本文主要讲两种: 基于scope继承的方式和基于event传播的方式 基于scope继承的方式 最简单的让控制器之间进行通信的方法是 ...
- 自定义指令-directive (转)
1.指令作用域中的@ 作用是把当前属性作为字符串传递. 前台代码: <div ng-controller="MyCtrl"> <drink water ...
- Linux_用户级_常用命令(5):rm
Linux常用命令第5集包含命令:rm 开篇语:懒是人类进步的源动力 本文原创,专为光荣之路公众号所有,欢迎转发,但转发请务必写出处! 一.命令简介 删除一个目录中的一个或多个文件或目录,如果没有使用 ...