嵌入式Linux开发环境搭建-3-安装交叉编译工具链

嵌入式Linux开发环境搭建-3-安装交叉编译工具链

    • 1、下载
    • 2、解压
    • 3、设置环境变量
    • 4、使环境变量 生效
    • 5、测试
    • 6、在线命令安装方法

参考文档
ubuntu下安装交叉编译工具链 - emlslxl - 博客园
arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别 - 奇手
各版本arm-gcc区别与安装 - 简书
  arm-linux-gnueabihf-gcc是由 Linaro 公司基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。
  arm-linux-gneabihf-gcc 与 CodeSourcery 的 arm-none-linux-gnueabi-gcc 类 似,都可以用来编译基于ARM平台所有环节代码,CodeSourcery 的交叉编译工具发布较早,从2005年开始一直到现在。

Linaro 则是由ARM、飞思卡尔、IBM、Samsung、ST-Ericsson和TI等厂商联合,为开发不同半导体公司系统单芯片(SoC)平台的共通软件的 一个非盈利公司。Linaro于2010年成立,并于当年11月发

布第一版ARM Cortex-A 为核心的 SoC 进行效能优化的软件工具。

1、下载

从linaro的网站下载预编译二进制包,地址:https://launchpad.net/linaro-toolchain-binaries/trunk/2013.10。
注意选择的版本哦,我们要使用linux下的哦。选择这个:
gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.bz2

2、解压

解压gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.xz 到 ~/arm-cross-toolchain/目录下
我放于/home/work/arm-cross-toolchain/目录
拷贝cp gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.bz2 ../arm-cross-toolchain/
解压tar -xvf gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.bz2

3、设置环境变量

跳转到根目录cd
编辑gedit .bashrc
在最后添加如下 2 行:

PATH=$PATH:/home/work/arm-cross-toolchain/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin
export PATH

请注意,第一行的$PATH后面是英文冒号,而冒号后面是你的cross-toolchain的可执行文件目录(bin目录)的绝对路径。 这两句的意思就是将cross-toolchain的可执行文件路径加入系统环境变量PATH中。

4、使环境变量 生效

跳转到根目录cd

source .bashrc

5、测试

arm-linux-gnueabihf-gcc -v

报错:arm-linux-gnueabihf-gcc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

原因:64位的系统,缺少 lib32stdc++6这个包
解决:sudo apt-get install lib32stdc++6

6、在线命令安装方法

安装arm-linux-gnueabi-gccarm-linux-gnueabidf-gcc

sudo apt-get install gcc-arm-linux-gnueabi 
sudo apt-get install gcc-arm-linux-gnueabihf

安装arm-linux-gnueabi-g++arm-linux-gnueabidf-g++

sudo apt-get install g++-arm-linux-gnueabi
sudo apt-get install g++-arm-linux-gnueabihf

卸载arm-linux-gnueabi-gccarm-linux-gnueabidf-gcc

sudo apt-get remove gcc-arm-linux-gnueabi 
sudo apt-get remove gcc-arm-linux-gnueabihf  

卸载arm-linux-gnueabi-g++arm-linux-gnueabidf-g++

sudo apt-get remove g++-arm-linux-gnueabi
sudo apt-get remove g++-arm-linux-gnueabihf

你可能感兴趣的:(嵌入式开发)