首页 > 其他分享 >Tool-Cross-compilation-Toolchain-ARM-Linaro

Tool-Cross-compilation-Toolchain-ARM-Linaro

时间:2024-07-15 10:52:39浏览次数:8  
标签:gcc Toolchain 交叉 compilation Cross Linaro arm 编译 ARM

Tool-Cross-compilation-Toolchain-ARM-Linaro

Ubuntu上基于Arm的交叉编译工具链。


引用:arm生态发展与交叉编译链选择-知乎

  • arm-none-linux-gnueabi-gcc:是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM(32位)系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。

  • arm-linux-gnueabihf-gcc:是由 Linaro 公司基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM(32位)系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。

  • aarch64-linux-gnu-gcc:是由 Linaro 公司基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARMv8 64位目标中的裸机程序、u-boot、Linux kernel、filesystem和App应用程序。

  • arm-none-elf-gcc:是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM MCU(32位)芯片,如ARM7、ARM9、Cortex-M/R芯片程序。

  • arm-none-eabi-gcc:是 GNU 推出的的ARM交叉编译工具。可用于交叉编译ARM MCU(32位)芯片,如ARM7、ARM9、Cortex-M/R芯片程序。

命名规则: 交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]

  • arch – 体系架构,如ARM,MIPS(通过交叉编译工具生成的可执行文件或系统镜像的运行平台或环境)
  • vendor – 工具链提供商
  • os – 目标操作系统(host主要操作平台,也就是编译时的系统)
  • eabi – 嵌入式应用二进制接口(Embedded Application Binary Interface)

根据对操作系统的支持与否,ARM GCC可分为支持和不支持操作系统,如

arm-none-eabi:这个是没有操作系统的,自然不可能支持那些跟操作系统关系密切的函数,比如fork(2)。他使用的是newlib这个专用于嵌入式系统的C库。

arm-none-linux-eabi:用于Linux的,使用Glibc




  • Linaro ToolChain aarch64 7.5.0

  • gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar

  • runtime-gcc-linaro-7.5.0-2019.12-aarch64-linux-gnu.tar

  • sysroot-glibc-linaro-2.25-2019.12-aarch64-linux-gnu.tar


安装步骤:

  1. 解压
  2. 配置环境变量
  3. 测试gcc版本

查看编译文件适用平台:

  • file xx
  • readelf -d xx
  • objdump -a xx-f
  • ldd xx

CMakeList.txt

# 设置编译器和链接器的路径
set(CMAKE_C_COMPILER "/path/to/gcc")
set(CMAKE_CXX_COMPILER "/path/to/g++")
#set(CMAKE_LINKER "/path/to/ld")

编译参数

  • --sysroot

标签:gcc,Toolchain,交叉,compilation,Cross,Linaro,arm,编译,ARM
From: https://www.cnblogs.com/yongchao/p/18302722

相关文章

  • ToolChain工具链命令介绍
    1ToolChain官方下载地址下载地址:https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/2readelf2.1elf格式elf是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格文件的文件格式。是UNIX系统实验室(USL)作为应用程序......
  • autoware.universe源码略读(3.5)--perception:compare_map_segmentation/crosswalk_tra
    autoware.universe源码略读3.5--perception:compare_map_segmentation/crosswalk_traffic_light_estimatorcompare_map_segmentationcompare_elevation_map_filter_nodedistance_based_compare_map_filter_nodeletvoxel_based_approximate_compare_map_filter_nodeletvox......
  • Linux 交叉编译(toolchain) ARM aarch64版 libc++.so 库
    前言全局说明libc++源码libc++是LLVM项目提供的一个C++标准库的实现,它是KonaKart等项目的基础。由于libc++是开源>的,因此您可以在其官方仓库中找到源代码。一、说明如果您想要阅读libc++的源代码,可以按照以下步骤进行:访问libc++的官方GitHub仓库:https://github.com/llv......
  • Linux 交叉编译(toolchain) ARM aarch64版 libcurl.so 库
    前言全局说明curl是用来访问网络,可以上传下载数据一、说明系统环境:ubunt18.04二、官网下载源码:2.1最新版本https://curl.haxx.se/download.htmlhttps://github.com/curl/curl/releases2.2历史版本https://curl.se/download/2.3变更日志https://curl.se/chan......
  • Crossover和PD虚拟机谁更强大?pd虚拟机一年多少钱
    在当前的虚拟化技术和应用程序兼容性解决方案中,Crossover和PD虚拟机(ParallelsDesktop)都是备受用户喜爱的选择。对于需要在非原生系统上运行应用程序的用户而言,选择合适的工具尤为重要。那么,Crossover和PD虚拟机谁更强大?又该如何在它们之间做出选择呢? ParallelsDesktop1......
  • crossover软件如何使用 crossover软件是干嘛的 crossover软件安装激活教程方法 兼容软
    很多苹果用户都想在MacOS系统下流畅地使用Win应用,现在只要安装这款系统兼容软件CrossOver便能实现了。CrossOver以其出色的跨平台兼容性,让用户在Mac设备上轻松运行各种Windows软件,无需复杂的设置或额外的配置,支持多种语言,满足不同国家和地区用户的需求。CrossOver软件是干......
  • cross attention的源码实现,并代码详细讲解
     importnumpyasnpdefsoftmax(x,axis=-1):"""Softmax函数,用于计算注意力权重"""e_x=np.exp(x-np.max(x,axis=axis,keepdims=True))returne_x/e_x.sum(axis=axis,keepdims=True)defscaled_dot_product_attention(q,k......
  • MySQL入门学习-连接查询.CROSS JOIN
        CROSSJOIN(交叉连接):返回左表中的所有行,左表中的每一行与右表中的所有行组合,返回的行数等于左表行数乘以右表行数。一、连接查询包括:1.CROSSJOIN(交叉连接):返回左表中的所有行,左表中的每一行与右表中的所有行组合。2.INNERJOIN(内连接):返回左表和右表......
  • CrossOver 24 for Mac(windows 虚拟机)
    CrossOverforMac是一款功能强大的虚拟机软件,允许在Mac系统上运行Windows应用程序而无需重新启动计算机。通过CrossOver,用户可以轻松地运行Windows软件和游戏,而无需购买Windows许可证或使用虚拟机。CrossOver通过直接在Mac系统上提供所需的Windows资源,实现了无缝的跨平台兼容......
  • 麒麟系统通过CrossOver软件安装Windows软件(.exe)的详细过程
    一、前期准备1.成功安装麒麟系统(本次实验的安装的系统是:Kylin-Desktop-V10-SP1))2.麒麟系统已经成功安装CrossOver软件3.Windows软件包(.exe文件)已经完成拷贝至麒麟系统4.知晓登录账户密码二、操作步骤选中需要安装的.exe软件,然后点击鼠标右键,然后选中打开方式,然......