小工具知识网

当前位置: 首页 > 行业知识 > RT-Thread 5.0.1 qemu-virt64-aarch64 使用 aarch64-none-elf-gcc 编译问题

行业知识

RT-Thread 5.0.1 qemu-virt64-aarch64 使用 aarch64-none-elf-gcc 编译问题

2026-10-31 08:38:31 来源:互联网转载

前言

  • ���近在最新的 RT-Thread 上搭建 bsp qemu-virt64-aarch64 的编译环境,发现较新的 gcc 交叉编译器编译失败了。

  • 经过尝试较旧版本的 gcc 交叉编译工具链,终于编译通过了

    下载 gcc 交叉编译工具链

    • 这里推荐使用 arm 官方的 gcc

    • 下载地址 https://developer.arm.com/downloads/-/gnu-a

      • 下载版本: gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xz,下载地址(注意可能会变,可以在ARM 官方查找)

        https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/10.2-2020.11/binrel/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xz

        配置编译环境

        • 下载 gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xz 后,进行解压,这里使用 ubuntu 20.04 Linux 环境

        • 进入 RT-Thread bsp qemu-virt64-aarch64 目录,新建一个 sh 脚本,如 setup_env.sh,内容如下

          #!/bin/bashexport RTT_CC=gccexport RTT_EXEC_PATH=/home/rtt/linux/tools/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf/binexport RTT_CC_PREFIX=aarch64-none-elf-export PATH=$PATH:$RTT_EXEC_PATHecho "CC        => ${RTT_CC}"echo "PREFIX    => ${RTT_CC_PREFIX}"echo "EXEC_PATH => ${RTT_EXEC_PATH}"
          • 注意 RTT_EXEC_PATH 为 解压后的 gcc 交叉编译工具链的路径

          • source setup_env.sh 是环境变量更改生效

          • 可以通过输入 $ aarch64-none-elf-gcc -v 查看环境变量是否生效

            编译

            • 直接使用 scons 就可以编译,如果没有安装过 scons,可以使用 sudo apt-get install scons 安装,然后 scons --menuconfig 可以图形界面配置一下工程

            • scons 编译通过

              运行 qemu

              • 输入 ./qemu.sh 即可运行了

                小结

                • RT-Thread 5.0.1 qemu-virt64-aarch64 基于 arm aarch64 平台,编译时交叉编译工具链不能太老或者太新。

                • 可以使用 RT-Thread 官方的 musl 的交叉编译工具链编译,可以正常的编译,并且可以编译 rt-smart 版本

上一篇:静态链接深度解析,概念、原理及应用探索

下一篇:星外IDC支付配置详解,轻松上手程序支付设置指南!