2020-12-01

嵌入式 Ubuntu 交叉编译工具链安装

 

 

嵌入式 Ubuntu 交叉编译工具链安装里写目录标题

 

什么是交叉编译?

ARM 裸机、 Uboot 移植、 Linux 移植这些都需要在 Ubuntu 下进行编译,编译就需要编译器,我们在第三章“Linux C 编程入门”里面已经讲解了如何在 Liux 进行 C 语言开发,里面使用 GCC 编译器进行代码编译,但是 Ubuntu 自带的 gcc 编译器是针对 X86 架构的!而我们现在要编译的是 ARM 架构的代码,所以我们需要一个在 X86 架构的 PC 上运行,可以编译 ARM 架
构代码的 GCC 编译器,这个编译器就叫做交叉编译器,总结一下交叉编译器就是:
1、它肯定是一个 GCC 编译器。
2、这个 GCC 编译器是运行在 X86 架构的 PC 上的。
3、这个 GCC 编译器是编译 ARM 架构代码的,也就是编译出来的可执行文件是在 ARM 芯片上运行的。
交叉编译器中“交叉”的意思就是在一个架构上编译另外一个架构的代码,相当于两种架构“交叉”起来了

交叉编译工具的下载

交叉编译器有很多种,我们使用 Linaro 出品的交叉编译器, Linaro 一间非营利性质的开放
源代码软件工程公司, Linaro 开发了很多软件,最著名的就是 Linaro GCC 编译工具链(编译器),
关于 Linaro 详细的介绍可以到 Linaro 官网查阅。 Linaro GCC 编译器下载地址如下:
https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/
打开以后下载界面如图所示:
在这里插入图片描述

交叉编译工具的安装

1.用 FileZilla 传到ubuntu中

在这里插入图片描述

2.在 Ubuntu 中创建目录: /usr/local/arm,命令如下:

sudo mkdir /usr/local/arm
  • 1

每个人创建的目录不一样,我这里是放到/usr/local/arm,
然后使用如下命令将交叉编译器复制到/usr/local/arm 中:

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

3.交叉编译工具的解压

命令如下:

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

在这里插入图片描述

4.修改环境变量

使用 VI 打开/etc/profile 文件,命令如下:

sudo vi /etc/profile
  • 1

打开/etc/profile 以后,在最后面输入如下所示内容:

export PATH=/home/lh/bin:/home/lh/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
  • 1

如图所示:
在这里插入图片描述
修改好以后就保存退出,重启 Ubuntu 系统,交叉编译工具链(编译器)就安装成功了。

5.安装相关库

在使用交叉编译器之前还需要安装一下其它的库,命令如下:

sudo apt-get install lsb-core lib32stdc++6
  • 1

6.交叉编译器验证

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

arm-linux-gnueabihf-gcc -v
  • 1

如果交叉编译器安装正确的话就会显示版本号,如图所示:

在这里插入图片描述
arm-linux-gnueabihf-gcc”的含义如下:
1、 arm 表示这是编译 arm 架构代码的编译器。
2、 linux 表示运行在 linux 环境下。
3、 gnueabihf 表示嵌入式二进制接口。
4、 gcc 表示是 gcc 工具。

写下下面的Hello World程序,保存为

hello.c

   #include <stdio.h>

    int main()

    {

    printf("Hello World!\n");

       return 0;

    }

执行下面的命令:

    # arm-linux-gnueabi-gcc -o hello hello.c

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值