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 ...
随机推荐
- 6周学习计划,攻克JavaScript难关(React/Redux/ES6 etc.)
作者:余博伦链接:https://zhuanlan.zhihu.com/p/23412169来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 和大家一样,最近我也看了Jo ...
- Java学习手记2——多线程
一.线程的概念 CPU执行程序,就好比一个人在干事情一样,同一个时间你只能做一件事情,但是这样的效率实在是太低了,在你用电脑的时候,听歌就不能浏览网页,看电影就不能下载视频,你想想是不是很蛋疼. 所以 ...
- 关于g++编译模板类的问题
今天搞了我接近4个小时,代码没错,就是调试没有通过,无论怎么也没有想到是编译器的问题 g++不支持c++模板类 声明与实现分离,都要写到.h文件里面. 以后记住了.
- 在jasp页面循环显示
<% int h=3;//行数 int l=3;//列数 %> <table> <% for(int i=0;i<h;i++){ %> <tr> ...
- JavaScript笔记 Function
在JavaScript中方法由两部分组成: 方法名和方法体. JavaScript中的方法跟其他传统面向对象语言不同,它跟普通的变量没有区别,唯一不同点是它是Function对象,因此它会有一些Fun ...
- 在Linux上配置Zabbix的环境
useradd -s /bin/false zabbix mkdir /usr/local/zabbix_agent mv /home/zihexin/zabbix_agents_3.2.0.linu ...
- amgular $q用法
amgular $q用法 在用JQuery的时候就知道 promise 是 Js异步编程模式的一种模式,但是不是很明白他跟JQuery的deferred对象有什么区别.随着公司项目的进行,要跟后台 ...
- javascript之聊天室(单机)来自于冷的锋刃
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- git github简单知识
Git 常用命令 git init here -- 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息.标记等内容 git remo ...
- OC-《购票系统》
来个命令行的购票系统 --1-- 需求分析 1.1 分析 1.2 功能分析 1.3 流程分析 --2-- 原型展示 2.1 界面原型 --3-- 系统设计 3.1 类设计 3.2 框架模块设计 --4 ...