交叉编译工具链安装

简介: 交叉编译工具链安装

什么是交叉编译工具链

  • ARM 裸机、 uboot 移植、 Linux移植这些都需要在 Ubuntu 下进行编译,代码编译就需要编译器
  • 但是 Ubuntu 自带的 gcc 编译器是针对 X86 架构的!而我们现在要编译的是 ARM 架构的代码
  • 所以我们需要一个在 X86 架构的 PC 上运行,可以编译 ARM 架构代码的 gcc 编译器,这个编译器就叫做交叉编译器
  • 所谓的交叉编译工具链就是指交叉编译器、链接器以及相关工具的组合

交叉编译工具链下载

  • ARM 官方下载地址:https://developer.arm.com/downloads/-/gnu-a
  • 选择如下版本

  • 下载完成后要将 gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz 压缩包拷贝到 Linux 开发环境下,我使用的开发环境是 Ubuntu22.04(64位)
  • 解压缩

sudo tar -vxf gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz

  • 等待解压完成,这时候会新增一个 gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf 的目录,这个目录中的内容就是我们安装的交叉编译工具链了

修改环境变量

  • 打开 /etc/profile 文件
sudo vi /etc/profile
  • 在最后加上如下内容:
export PATH=$PATH:/home/thin-wind/software/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin
  • 完成添加后的 /etc/profile 如下所示

  • 修改好以后就保存退出
  • 想要使更改后的 profile 文件立即生效,可以使用如下命令

source /etc/profile

  • 直接重启 Ubuntu 也是可以的

依赖库的安装

  • 在使用交叉编译器之前还需要安装一下其它的库,命令如下:
sudo apt-get update                           //先更新,否则安装库可能会出错
sudo apt-get install lsb-core lib32stdc++6    //安装库

验证交叉编译器

  • 我们可以通过查看一下交叉编译工具的版本号来验证是否安装成功,输入如下命令:
arm-none-linux-gnueabihf-gcc -v
  • 如果交叉编译器安装成功,应成功显示版本信息:

名称解析

  • arm:表示这是编译 arm架构代码的编译器。
  • none:表示厂商,一般半导体厂商会修改通用的交叉编译器,此处就是半导体厂商的名 字, ARM 自己做的交叉编译这里为 none,表示没有厂商
  • linux:表示运行在 linux 环境下
  • gnueabihf:表示嵌入式二进制接口 ,后面的 hf 是 hard float 的缩写,也就是硬件浮点,说明此交叉编译工具链支持硬件浮点
  • gcc:表示是 gcc 工具。
目录
相关文章
|
Linux 开发者
交叉编译工具链的下载与安装
交叉编译工具链的下载与安装
1770 1
arm-linux-gcc的下载与安装步骤
arm-linux-gcc的下载与安装步骤
1788 2
|
Ubuntu Linux 编译器
Linux应用开发基础知识——交叉编译与gcc编译(一)
Linux应用开发基础知识——交叉编译与gcc编译(一)
454 0
Linux应用开发基础知识——交叉编译与gcc编译(一)
|
NoSQL Linux 编译器
Linux下交叉编译gdb,gdbserver+gdb的使用以及通过gdb调试core文件
交叉编译gdb和gdbserver 1、下载gdb:下载地址为:http://ftp.gnu.org/gnu/gdb/按照一般的想法,最新版本越好,因此下载7.2这个版本。当然,凡事无绝对。我们以gdb-7.2.tar.bz2 这个文件为例。
7390 1
|
存储 NoSQL Unix
【Core dump】关于core的相关配置:关于核心转储文件core dump的显示和设置位置
【Core dump】关于core的相关配置:关于核心转储文件core dump的显示和设置位置
1004 11
|
存储 Linux 编译器
Linux 交叉编译第三方库需要设置的环境变量
Linux 交叉编译第三方库需要设置的环境变量
508 0
|
12月前
|
Ubuntu 编译器 开发工具
如何根据自己的开发板型号下载和配置交叉编译链
【7月更文挑战第9天】为AMD64 Ubuntu配置ARM64开发板交叉编译环境: 1. 下载适配开发板的GCC,如rk3568用Linaro AArch64。 2. 将GCC置于`downloads`等目录。 3. 解压至`/opt/`,如`tar -xvf gcc-linaro-*.tar.xz -C /opt/`。 4. 编辑`~/.bashrc`添加`/opt/gcc-linaro/*/bin`至PATH。 5. 运行`source ~/.bashrc`激活环境变量。 6. 通过`aarch64-linux-gnu-gcc -v`验证安装。
370 0
|
编译器 Ubuntu Windows
|
SQL Ubuntu Linux
Linux(30)Rockchip RK3568 Ubuntu 20.04上解决常见的库依赖问题
Linux(30)Rockchip RK3568 Ubuntu 20.04上解决常见的库依赖问题
694 1
|
物联网 编译器 测试技术
【嵌入式 交叉编译器】如何在 ARM 架构下选择和使用高版本交叉编译器
【嵌入式 交叉编译器】如何在 ARM 架构下选择和使用高版本交叉编译器
1190 7