嵌入式Linux之交叉编译器

交叉编译器

交叉编译器介绍

ARM 裸机、Uboot 移植、Linux 移植这些都需要在 Ubuntu 下进行编译,编译就需要编译器,我们知道如何在 Linux 进行 C 语言开发,里面使用 GCC 编译器进行代码编译,但是 Ubuntu 自带的GCC编译器是针对 X86 架构的!而我们现在要编译的是 ARM 架构的代码,所以我们需要一个在 X86 架构的 PC 上运行,可以编译 ARM 架 构代码的 GCC 编译器,这个编译器就叫做交叉编译器。

总结一下交叉编译器就是:

1、它肯定是一个 GCC 编译器。 
2、这个 GCC 编译器是运行在 X86 架构的 PC 上的。 
3、这个 GCC 编译器是编译 ARM 架构代码的,也就是编译出来的可执行文件是在 ARM 芯片上运行的。

交叉编译器中“交叉”的意思就是在一个架构上编译另外一个架构的代码,相当于两种架构“交叉”起来了。

交叉编译器的下载

因为我所使用的 I.MX6U-ALPHA 开发板 是一个 Cortex-A7 内核的开发板,因此选择 arm-linux-gnueabihf,这里贴出我所使用的的版本(交叉编译器)(这里面有32位64位两种)

交叉编译器环境配置
在 Ubuntu 中创建目录:/usr/local/arm,命令如下:

 sudo mkdir /usr/local/arm

创建完成以后将刚刚拷贝的交叉编译器复制到/usr/local/arm 这个目录中,在终端使用命令 “ cd” 进 入 到 存 放 有 交 叉 编 译 器 的 目 录 ,(但是你如果下载到win10中,要怎么移植到内置ubuntu中?,其实你只要进入/mnt这个目录你就知道了,这个目录中挂载了像C盘,D盘等硬盘)然后使用如下命令将交叉编译器复制到/usr/local/arm 中: (这里我使用的是64位的。。。好像内置ubuntu都是64位的,算了不管了)

 sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f 

拷贝完成以后进入/usr/local/arm 目录中对交叉编译工具进行解压,解压命令如下:

sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz 

等待解压完成,解压完成以后会生成一个名为“gcc-linaro-4.9.4-2017.01-x86_64_arm-linuxgnueabihf”的文件夹,这个文件夹里面就是我们的交叉编译工具链。
修改环境变量,使用 VIM 打开/etc/profile 文件,命令如下:

  sudo vim /etc/profile  

打开/etc/profile 以后,在最后面输入如下所示内容: (这里前面的路径就是上文存放交叉编译器的路径)

 export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin 

修改好以后就保存退出,重启 Ubuntu 系统,交叉编译工具链(编译器)就安装成功了。
注:在内置ubuntu中是没有重启命令的,重启需要在win10下,以管理员身份运行cmd输入一下命令即可重启

net stop LxssManager
net start LxssManager

重启之后再次打开ubuntu即可

交叉编译器验证

首先查看一下交叉编译工具的版本号,输入如下命令:

 arm-linux-gnueabihf-gcc -v  

如果交叉编译器安装正确的话就会显示版本号,如下图
嵌入式Linux之交叉编译器_第1张图片

你可能感兴趣的:(Linux)