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

网站开发网络苏州钻木网络科技有限公司

网站开发网络,苏州钻木网络科技有限公司,服装网都有哪些网站,jsp网站建设项目实战总结1. 场景描述 在Ubuntu 24.04.1 LTS x86_64架构下交叉编译能跑在aarch64架构下裸机程序,遇到缺aarch64-none-elf-gcc的情况,做此记录。 2. aarch64-none-elf-gcc与aarch64-linux-gnu-gcc 运行环境 aarch64-none-elf-gcc 生成的代码是 裸机程序&#xf…

1. 场景描述

在Ubuntu 24.04.1 LTS x86_64架构下交叉编译能跑在aarch64架构下裸机程序,遇到缺aarch64-none-elf-gcc的情况,做此记录。

2. aarch64-none-elf-gcc与aarch64-linux-gnu-gcc

  • 运行环境
    • aarch64-none-elf-gcc 生成的代码是 裸机程序(不依赖操作系统),适用于编写 OS 内核、Bootloader、嵌入式软件。
    • aarch64-linux-gnu-gcc 生成的代码依赖 GNU/Linux 运行环境,适用于 Linux 平台的应用开发。
  • 标准库
    • aarch64-none-elf-gcc 可能使用 newlib 或者 没有标准 C 库,因为裸机环境中通常没有 glibc。
    • aarch64-linux-gnu-gcc 依赖 glibc 或者 musl,适用于 Linux 用户态开发。
  • 链接方式
    • aarch64-none-elf-gcc 不会 链接 Linux 运行时 (glibc),通常使用裸机运行时或者手写的 start-up 代码。
    • aarch64-linux-gnu-gcc 需要 兼容 Linux 的 glibc 运行库,可以运行在 Linux 发行版上。
  • 适用场景
    • 编写 AArch64 内核、Bootloader、裸机程序:用 aarch64-none-elf-gcc。
    • 编写 Linux 用户态程序(比如运行在 ARM 服务器上的 C 代码):用 aarch64-linux-gnu-gcc。

差别汇总如下表所示:

编译器目标架构运行环境主要用途
aarch64-none-elf-gccAArch64裸机(bare-metal)无操作系统 用于编译嵌入式系统、OS 内核、Bootloader
aarch64-linux-gnu-gccAArch64 Linux用户空间用于编译 Linux 应用程序、库

3. 安装配置

3.1 aarch64-linux-gnu-gcc

在Ubuntu 24.04.1 LTS需要aarch64-linux-gnu-gcc编译器,仅仅需要通过apt进行包安装即可

apt-get install gcc-aarch64-linux-gnu

提供的命令如下图所示:
在这里插入图片描述

3.2 aarch64-none-elf-gcc

3.2.1 工具链下载

下载地址:

https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

根据实验平台(x86_64上交叉编译AArch64)需要下载相关版本

wget https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-x86_64-aarch64-none-elf.tar.xz

3.2.2 配置环境变量

解压

xz -d arm-gnu-toolchain-14.2.rel1-x86_64-aarch64-none-elf.tar.xz 
tar -xvf arm-gnu-toolchain-14.2.rel1-x86_64-aarch64-none-elf.tar -C /opt/

设置环境变量
vim ~/.bashrc

export TOOLCHAIN=/opt/arm-gnu-toolchain-14.2.rel1-x86_64-aarch64-none-elf
export PATH=$PATH:$TOOLCHAIN/bin

使环境变量生效

source .bashrc

提供的命令如下图所示:
在这里插入图片描述现在就可以基于aarch64-none-elf-gcc编译器交叉编译aarch64裸机程序了。

注:ELF(Executable and Linkable Format),ELF(可执行与可链接格式)是一种 文件格式,用于存储可执行文件、目标文件、共享库 和 核心转储(core dump)。它是 Linux 及大多数 Unix 系统 上的标准可执行文件格式。

http://www.dtcms.com/wzjs/600848.html

相关文章:

  • 自己创建网站怎么得流量钱外贸soho做网站怎么做
  • 微信网站入口大连金州网站建设
  • 网站开发实习计划模板网页版邮箱
  • 网站开发代理商泰州网站建设价位
  • 茂名企业自助建站800元五合一建站
  • 正能量网站窗口免费进网站建设教程(项目式)
  • 电子商务网站设计原理书籍网站排名优化公司推荐
  • 网站风格的特点哔哩哔哩网页版入口链接
  • wordpress发布的文章无法显示内容做seo网站要多少钱
  • 100M家用宽带可做网站服务器吗河北省网络科技网站
  • 木马网站链接有什么网店美工的意义
  • 企业网站推广的名词解释郑州关键词网站优化排名
  • 网站推广策划思路是什么wordpress 购物导航网站
  • 厦门做网站的公司有哪些中国十大私企
  • wordpress流量站怎么申请免费国内免费网站
  • 网站开发实战第二章大港网站开发
  • 北京网站建设需要多少钱工业设计 做自己的网站 知乎
  • 如何制作一般企业网站wordpress文章插广告
  • 简单的网站php开发教程app开发公司流程
  • 如何去做一个网站重庆市沙坪坝区
  • 龙岗网站建设服务主图模板免费
  • 院校网站建设对比分析实训报总结项目推广方案怎么写
  • 企业网站做百度小程序西安网站建设小程序
  • 湛江市建网站明薇通网站建设价格
  • 虹口基础微网站开发wordpress论坛插件
  • 网上花店网站建设规划书番禺网站建设多少钱
  • 网站动图怎么做公司用的管理系统
  • 都江堰旅游门户网站已经收录大规模修改收录页面对网站有影响吗
  • 手机端网站搭建网站seo查询
  • 上海建网站手机app设计师必看的10个网站