【交叉编译 | arm版Ubuntu】arm版Ubuntu(飞腾平台)开发环境、交叉编译工具安装

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀
🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭
🤣本文内容🤣:🍭介绍 🍭
😎金句分享😎:🍭你不能选择最好的,但最好的会来选择你------泰戈尔🍭
⏰发布时间⏰:

本文未经允许,不得转发!!!

目录


🎄一、概述

最近需要将之前开发的程序 "搬运 " 到飞腾平台的运行,这个平台是基于arm架构国产自主研发的飞腾芯片运行的Ubuntu系统搭建的。

目标系统信息如下:

shell 复制代码
wkd$ cat /proc/version
Linux version 5.15.0-164-generic (buildd@bos03-arm64-074) (gcc (Ubuntu 11.4.0-1ubuntu1~22.04.2) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #174-Ubuntu SMP Fri Nov 14 20:32:57 UTC 2025
wkd$ 
wkd$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.5 LTS
Release:	22.04
Codename:	jammy
wkd$ 
wkd$ uname -a
Linux ckvms-hwtais 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:32:57 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux

这是个Ubuntu系统,要"搬运"程序到这里运行有2种方法,

  • 1、直接在这个Ubuntu系统上使用自带的gcc、g++等编译工具重新编译代码;
  • 2、使用x86架构的电脑当开发主机并安装需要的交叉编译工具链。

本文侧重于第2种方式,下面将介绍这2种方式。


🎄二、arm版Ubuntu自带的编译工具

在arm版Ubuntu系统的命令行执行下面命令,安装必要的编译工具、开发工具:

shell 复制代码
sudo apt-get install gcc g++ gdb make cmake

安装后,可以看到gcc编译器的目标平台是 aarch64-linux-gnu,gcc版本是11.4.0

g++编译器的目标平台也是 aarch64-linux-gnu,版本是11.4.0

这样就可以编译arm架构的程序了。


🎄三、在 x86 平台安装目标平台的交叉编译器

上个小节是直接在arm版的Ubuntu搭建开发环境,但有时目标平台的系统不方便一直使用。如果可以在 x86 的常用电脑搭建开发环境,编译后只打包程序过去会方便很多。顺着这个思路有下面三个方法搭建交叉编译环境:

  • 在x86平台系统的命令行执行命令 sudo apt-get install build-essential,安装交叉编译工具链;
  • 在x86平台系统的命令行执行命令sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu,安装交叉工具链;
  • 自己到网上下载交叉工具链安装包,手动安装。

我试了第一个方法,安装后的gcc版本是 gcc-10.3.0 的,与目标平台要求的 11.4.0 有些差距,所以决定自己尝试第三个方法,这个小节也主要介绍这个方法的几个下载地址及操作,记录一下以防忘记。

开始之前,先了解一下要下载的交叉工具链,aarch64-linux-gnu-gcc是用于在x86等主机上为ARM 64位(AArch64)架构的Linux系统编译程序的核心工具。简单来说,它的作用就是"东家干活,西家运行",是飞腾芯片嵌入式开发的关键。

✨3.1 Arm官方工具链下载

Arm官方工具链是最权威、最通用的。ARM公司官方发布,包含全套工具,兼容性和标准化最好,是ARM架构开发的基准。

Arm官方工具链下载地址:https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

进入页面后,一直往下滑,会看到一些近几年的版本,虽然也没有 11.4 的,但可以选择稍微靠近的 11.3 的版本进行下载:

点开 + 号,依次找到 x86_64 Linux hosted cross toolchains -> AArch64 GNU/Linux target (aarch64-none-linux-gnu) -> arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz 进行下载。

完成后,解压就可以使用了:

shell 复制代码
tar xf arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz

最后记得修改环境变量:

shell 复制代码
# 打开文件
sudo vi /etc/profile

# 在最后添加你的aarch64-none-linux-gnu-gcc 路径
export PATH="/opt/linux/x86-arm/aarch64-none-linux-gnu/bin:$PATH"

# 使环境变量生效
source /etc/profile

补充:下载适用于A型架构的传统工具链版本(8.2-2018.08至10.3-2021.07)地址:https://developer.arm.com/downloads/-/gnu-a


✨3.2 Linaro版本工具链下载

Linaro版本工具链是最主流、优化好的。由Linaro(ARM生态联盟)维护,通常基于GCC进行针对ARM的深度性能优化,是嵌入式开发者的热门选择。

Linaro版本工具链下载地址:https://releases.linaro.org/components/toolchain/binaries/

但这里缺少 11.4 的版本,不懂怎么回事。。。所以这个,目前暂时无法下载。


🎄四、总结

👉本文介绍了 arm版Ubuntu(飞腾平台)搭建开发环境的过程,主要是如何下载、安装交叉编译工具安装。

如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁

参考:
交叉编译工具 aarch64-linux-gnu-gcc 的介绍与安装
Linux环境中安装指定版本的gcc-aarch64-linux-gnu、gcc-arm-linux-gnueabi工具包
【飞腾平台实时Linux方案系列】第八篇 - 飞腾平台实时Linux开发环境进阶搭建。

相关推荐
无级程序员1 小时前
clickhouse创建用户,登录出错的问题,code 516
linux·服务器·clickhouse
菜鸟厚非2 小时前
如何在 Nginx 中配置 HTTPS - Linux
linux·nginx·https
biter00882 小时前
Ubuntu 上搜狗输入法突然“消失 / 只能英文”的排查与修复教程
linux·数据库·ubuntu
WinyQ02 小时前
【DeepStream】整合出现的问题
linux·运维·网络
周公挚友2 小时前
centos 7.9 搭建nginx
linux·nginx·centos
坐怀不乱杯魂2 小时前
Linux 基础IO
linux·运维·服务器
南棱笑笑生2 小时前
20260123让天启AIO-3576Q38开发板在天启Buildroot下读写TF卡
linux·运维·服务器·rockchip
VekiSon2 小时前
ARM架构——UART 串口通信详解
c语言·arm开发·单片机·嵌入式硬件
噎住佩奇2 小时前
PVC和PV等概念解释
linux·运维·服务器