当前位置: 首页 > article >正文

linaro交叉编译工具链下载与使用笔记

笔记

文章目录

  • 笔记
    • 确定目标 (aarch64)
    • 选择版本(7.5)
    • 选择目标(aarch64-linux-gnu)
    • 下载地址工具链(gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz)
    • 编译测试 (待续)

确定目标 (aarch64)

我的开发环境:Inter的x86_64架构,系统ubuntu20.04
我的目标环境:RK3588的aarch64架构,系统ubuntu20.04,小端(Little Endian)架构

选择版本(7.5)

官方链接:https://releases.linaro.org/components/toolchain/binaries/
在这里插入图片描述
没特殊情况,选择最新版本

选择目标(aarch64-linux-gnu)

在这里插入图片描述

以下是Linaro工具链的下载链接以及代表的版本信息:

  • aarch64-elf:

    • 下载链接:Linaro AArch64 bare-metal ELF
  • aarch64-linux-gnu: 【正常情况选这个】

    • 下载链接:Linaro AArch64 GNU/Linux
  • aarch64_be-elf:

    • 下载链接:Linaro AArch64 big-endian bare-metal ELF
  • aarch64_be-linux-gnu:

    • 下载链接:Linaro AArch64 big-endian GNU/Linux

我的情况就选:aarch64-linux-gnu

下载地址工具链(gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz)

下载地址:
https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/

这三个文件通常用于交叉编译环境,特别是用于在 x86_64 主机上进行 ARM64(aarch64-linux-gnu)目标平台的交叉编译。以下是这三个文件的作用:

  1. gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz

    • 这是包含 GCC 交叉编译器的压缩文件。该工具链是用于在 x86_64 主机上生成运行在 aarch64-linux-gnu 目标平台(ARM64/Linux)上的可执行文件的工具。
  2. runtime-gcc-linaro-7.5.0-2019.12-aarch64-linux-gnu.tar.xz

    • 此文件可能包含运行时支持的文件,例如共享库(Shared Libraries)等,这些文件是在目标平台(aarch64-linux-gnu)上执行程序时所需的。它提供了在目标平台上运行二进制文件所需的运行时库和支持。
  3. sysroot-glibc-linaro-2.25-2019.12-aarch64-linux-gnu.tar.xz

    • 这个文件包含 Glibc 库的 sysroot。Glibc 是 GNU C 库的一部分,它提供了 C 语言标准库的实现,是 Linux 系统中的一个重要组成部分。sysroot 包含在目标平台(aarch64-linux-gnu)上执行程序所需的头文件、库和其他支持文件。

通常,在交叉编译环境中,交叉编译器用于生成二进制可执行文件,而 runtime 和 sysroot 文件则提供了在目标平台上运行这些生成的可执行文件所需的运行时支持和库。确保这些文件版本与您的项目和目标平台的要求相匹配。

在这里插入图片描述
我这里也只需要下载编译工具链:gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz

编译测试 (待续)

待续…


http://www.kler.cn/a/148822.html

相关文章:

  • IOT物联网低代码可视化大屏解决方案汇总
  • 跟着尚硅谷学vue2—基础篇4.0
  • 使用 Vision 插件让 GitHub Copilot 识图问答
  • 四:HTTP的诞生:它解决了哪些网络通信难题?
  • 【linux】centos7 换阿里云源
  • Dolby TrueHD和Dolby Digital Plus (E-AC-3)编码介绍
  • Nacos 端口偏移量说明
  • java文件上传以及使用阿里云OSS
  • 【ArcGIS Pro微课1000例】0038:基于ArcGIS Pro的人口密度分析与制图
  • 11 动态规划解最后一块石头的重量II
  • TiDB 在咪咕云原生场景下的实践
  • 人工智能原理复习--知识表示(一)
  • 图论 2023.11.27
  • springboot 自定义starter逐级抽取
  • MATLAB算法实战应用案例精讲-【图像处理】FPGA
  • 编写安全 JavaScript 代码的最佳实践
  • Gossip协议理解
  • Android控件全解手册 - 任意View缩放平移工具-实现思路和讲解
  • 京东大数据(京东运营数据采集):2023年10月京东牛奶乳品行业品牌销售排行榜
  • 解决:SyntaxError: Non-UTF-8 code starting with À in file but no encoding declared
  • pgsql分别获取日期中的年、月、日,并处理前台展示有小数点的情况
  • STM32CubeIDE(ADC)
  • C++面试,说明const和#define的特点和区别
  • 基于单片机的智能饮水机控制系统(论文+源码)
  • JAVA进阶之路JVM-2:类加载机制,类的生命周期,类加载过程,类加载时机,类加载器,双亲委派模型,对象创建过程
  • LuatOS-SOC接口文档(air780E)--rtc - 实时时钟