搭建嵌入式交叉编译环境
2016-08-06 10:53
225 查看
搭建嵌入式交叉编译环境
本文中所使用的Ubuntu 14.04.3,交叉编译器的安装一般需要涉及到多种软件,但这个过程一般比较复杂,现在很多嵌入式社区提供了测试通过的交叉编译器,本文中采用的是友善之臂的arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz。1. 解压文件
tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz -C /注意: C后面有个空格,并且C是大写的(必须),它是英文单词“Change”的第一个字母,在此是改变目录的意思。执行该命令,将把arm-linux-gcc 安装到/opt/FriendlyARM/toolschain/4.5.1 目录。
另外自己在安装过程出现如下所示的报错:
gzip: stdin: unexpected end of file
tar: 归档文件中异常的 EOF
tar: 归档文件中异常的 EOF
tar: Error is not recoverable: exiting now
通过在网上搜索,原因一方面可能是解压格式是否选对或者是下载的压缩包破坏,自己的解压命令输入是无误的,压缩包也是光盘解压,连续从找了好几个版本的都是报这个错误,同学复制过来的也有问题,最初以为是自己的Ubuntu系统问题,但是对其他的压缩包就可以正常解压,后来思考可能是因为通过VMwareTools传输文件到虚拟机的过程中出现的文件损坏,果断换了WinSCP传送,最后果然可以正常解压了。
2. 建立目录复制文件
sudo mkdir /usr/local/armsudo cp -r /opt/FriendlyARM/toolschain/4.5.1/ /usr/local/arm
3. 配置环境变量
目前我们只是安装了交叉编译器,但使用时只能在当前目录下,因此需要配置环境变量,保证在其他路径下也能找到交叉编译器。方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)
sudo gedit /etc/bash.bashrc
在最后加上 export PATH=$PATH:/usr/local/arm/4.5.1/bin (路径)(注意等号那边不要有空格)
方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用,本文采用的是这种方法)
sudo gedit /etc/profile
增加路径设置,在末尾添加如下:
export PATH=$PATH:/usr/local/arm/4.5.1/bin
方法三:修改/etc/environment文件
sudo gedit /etc/environment
原文件应为
PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
将其改为
PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.5.1/bin”
4. 注册环境变量
为了使之前配置的环境变量生效,一种方法是注销系统重新进入,另外还可以采用其他方式注册环境变量,采用source指令source /etc/bash.bashrc
source /etc/profile
方法三立即生效,不用注册。
5. 检测是否安装成功。
echo $PATH显示如下信息,说明环境变量注册成功。
/usr/java/java-8-sun/bin:/usr/java/java-8-sun/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin:/opt/Sublime Text 2:/usr/local/arm/4.5.1/bin/
arm-linux-gcc
Using built-in specs.
COLLECT_GCC=arm-linux-gcc
COLLECT_LTO_WRAPPER=/usr/local/arm/4.5.1/bin/../libexec/gcc/arm-none-linux-gnueabi/4.5.1/lto-wrapper
Target: arm-none-linux-gnueabi
Configured with: /work/toolchain/build/src/gcc-4.5.1/configure –build=i686-build_pc-linux-gnu –host=i686-build_pc-linux-gnu –target=arm-none-linux-gnueabi –prefix=/opt/FriendlyARM/toolschain/4.5.1 –with-sysroot=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root –enable-languages=c,c++ –disable-multilib –with-cpu=arm1176jzf-s –with-tune=arm1176jzf-s –with-fpu=vfp –with-float=softfp –with-pkgversion=ctng-1.8.1-FA –with-bugurl=http://www.arm9.net/ –disable-sjlj-exceptions –enable-__cxa_atexit –disable-libmudflap –with-host-libstdcxx=’-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm’ –with-gmp=/work/toolchain/build/arm-none-linux-gnueabi/build/static –with-mpfr=/work/toolchain/build/arm-none-linux-gnueabi/build/static –with-ppl=/work/toolchain/build/arm-none-linux-gnueabi/build/static –with-cloog=/work/toolchain/build/arm-none-linux-gnueabi/build/static –with-mpc=/work/toolchain/build/arm-none-linux-gnueabi/build/static –with-libelf=/work/toolchain/build/arm-none-linux-gnueabi/build/static –enable-threads=posix –with-local-prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root –disable-nls –enable-symvers=gnu –enable-c99 –enable-long-long
Thread model: posix
gcc version 4.5.1 (ctng-1.8.1-FA)
输出如上结果,至此,交叉编译器安装成功。
相关文章推荐
- 嵌入式交叉编译环境搭建
- Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- 嵌入式Linux之旅——环境搭建篇之交叉编译工具的安装
- Qt arm嵌入式交叉编译环境搭建
- Ubuntu 14.04 64位 嵌入式交叉编译环境arm-linux-gcc搭建 一次成功
- Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- 搭建嵌入式交叉环境编译出现的问题
- Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解
- Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Ubuntu 16.04[64bit]嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解
- 嵌入式交叉编译开发环境的搭建步骤(arm-linux)
- 嵌入式软件开发培训笔记——ARM架构Linux系统下交叉编译环境搭建、NFS、TFTP服务配置及Nandflash的读写
- Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解
- Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解
- 【Linux学习】Ubuntu下嵌入式交叉编译环境arm-linux-gcc搭建
- 【Linux学习】Ubuntu下嵌入式交叉编译环境arm-linux-gcc搭建
- Ubuntu 14.04 LTS嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Ubuntu12.04嵌入式交叉编译环境arm-linux-gcc搭建过程,图解