交叉编译工具链-交叉编译工具链的安装

709 字
4 分钟
交叉编译工具链-交叉编译工具链的安装

一、常用的交叉编译工具链#

常用的交叉编译工具链有很多,如:

  • Linaro
  • yagarto
  • crosstool-ng
  • buildroot
编译工具链下载地址描述
Linarohttps://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/提供的 ARM 交叉编译工具链
yagarto|提供的 ARM 交叉编译工具链
crosstool-ng|用于构建自定义交叉编译工具链的工具,它可以支持多种目标平台和配置选项
buildroot|用于构建嵌入式 Linux 系统的工具,它可以自动下载、配置、编译和安装交叉编译工具链、内核、根文件系统等组件

交叉编译工具链的命名一般遵循 target-platform-triplet 的格式,例如 arm-linux-gcc 表示用于生成 ARM 平台上 Linux 系统下运行的程序的 GCC 编译器¹。

二、ubuntu安装linaro交叉编译工具#

前往链接下载最新的编译工具版本

https://snapshots.linaro.org/gnu-toolchain/14.0-2023.06-1/arm-linux-gnueabihf/

下载完成后,通过SFTP传输到ubuntu系统上

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

Terminal window
sudo mkdir /usr/local/arm

将刚刚传输的安装包复制到创建的目录中:

Terminal window
#将交叉编译工具包复制到/usr/local/arm, -f表示强制复制
sudo cp gcc-linaro-14.0.0-2023.06-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm -f

对复制过来的压缩包进行解压

Terminal window
sudo tar -vxf gcc-linaro-14.0.0-2023.06-x86_64_arm-linux-gnueabihf.tar.xz

解压完成后,配置全局配置文件 /etc/profile

Terminal window
#全局配置文件,它在系统启动时执行,并且为登录系统的每个用户设置环境信息
sudo vim /etc/profile

在文件末尾输入:

Terminal window
export PATH=$PATH:/usr/local/arm/gcc-linaro-14.0.0-2023.06-x86_64_arm-linux-gnueabihf/bin

改好以后就保存退出,重启 Ubuntu 系统

Terminal window
sudo reboot

重启完成后,安装完成。

重启后,还需要安装一些其他库

Terminal window
#lsb-core
##这个软件包包含Linux Standard Base(LSB)的核心模块。
##LSB是一个标准,旨在提高Linux操作系统之间的兼容性。
##安装 lsb-core 可以确保系统符合LSB标准,有时候某些软件依赖于LSB的特定版本,因此需要安装此包
#lib32stdc++6
##这是GNU Standard C++ Library的32位版本的软件包
##它包括了C++标准库的32位版本,这对于运行那些依赖于32位C++库的应用程序是必需的,尤其是在64位系
##统上运行32位应用程序时
sudo apt-get install lsb-core lib32stdc++6

安装完成后,查看版本

Terminal window
arm-linux-gnueabihf-gcc -v

当我们要使用这个GCC编译时,可以使用 arm-linux-gnueabihf-gcc 命令

  • arm 表示这是编译 arm 架构代码的编译器。
  • linux 表示运行在 linux 环境下。
  • gnueabihf 表示嵌入式二进制接口。
  • gcc 表示是 gcc 工具。

三、验证#

复制一个工程到目录下

执行编译

Terminal window
make

查看结果

可以发现,生成了一个 led.binled.o 文件

使用命令查看文件信息

Terminal window
file led.o

可以看到 led.o 是 32 位 LSB 的 ELF 格式文件,目标机架构为 ARM,说明我们的交叉编译器工作正常。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

评论区

Profile Image of the Author
lim
Hello, I'm lim.
公告
欢迎来到我的博客!这是一则示例公告。
分类
标签
站点统计
文章
11
分类
4
标签
5
总字数
14,426
运行时长
0
最后活动
0 天前