news 2026/6/10 12:03:24

【记录】ARM|Ubuntu 24 快速安装 arm-none-eabi-gdb 及 QEMU 调试实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【记录】ARM|Ubuntu 24 快速安装 arm-none-eabi-gdb 及 QEMU 调试实战

文章目录

  • 【避坑指南】Ubuntu 24 快速安装 arm-none-eabi-gdb 及 QEMU 调试实战
    • 📖 背景说明
    • 🛑 避坑:常见的失败尝试
      • 1. 直接使用 apt-get 安装
      • 2. 添加 PPA 软件源
      • 3. 从 ARM 官网直接下载
    • ✅ 实战:四步极速安装
      • 步骤 1:清理旧版本
      • 步骤 2:高速下载
      • 步骤 3:解压安装
      • 步骤 4:配置环境变量
    • 🛠️ 疑难杂症:缺少依赖库
    • 💻 进阶:GDB + QEMU 调试演示
      • 1. 启动 QEMU 模拟器(终端窗口 A)
      • 2. 连接 GDB 开始调试(终端窗口 B)
    • 📚 参考资源

【避坑指南】Ubuntu 24 快速安装 arm-none-eabi-gdb 及 QEMU 调试实战

本文旨在记录在Ubuntu 24环境下安装arm-none-eabi-gdb的最佳实践,涵盖了从“避坑”到“安装”再到“调试”的全流程,助你快速搭建嵌入式开发环境。


📖 背景说明

对于嵌入式开发(如 STM32、GD32 等 Cortex-M 系列单片机),arm-none-eabi-gdb 是必不可少的调试工具。但在 Ubuntu 24.04 等较新的 Linux 发行版中,由于软件包策略的调整,直接通过 apt 安装往往无法获得完整的 GDB 功能,或者版本过旧不支持最新的芯片。本文将介绍一种稳定、高速且独立于系统环境的安装方案。

🛑 避坑:常见的失败尝试

在开始之前,请不要尝试以下方法,以免浪费时间:

1. 直接使用 apt-get 安装

Ubuntu 官方仓库通常只包含 GCC,而不包含 GDB 调试器。

sudoapt-getinstallgcc-arm-none-eabi# ❌ 仅安装了编译器,无法安装 gdb

2. 添加 PPA 软件源

老旧的 PPA 仓库(如team-gcc-arm-embedded)已停止维护,在 Ubuntu 24 上会导致 404 错误。

sudoadd-apt-repository ppa:team-gcc-arm-embedded/ppasudoapt-getupdate# ❌ 报错:The repository '...' does not have a Release file.

3. 从 ARM 官网直接下载

虽然可行,但国内网络环境下载速度极慢,且需跨越网络障碍,不推荐作为首选。https://developer.arm.com/downloads/-/gnu-rm


✅ 实战:四步极速安装

推荐使用华为镜像站下载,速度快且版本稳定。

步骤 1:清理旧版本

如果之前尝试安装过,建议先清理环境:

sudoapt-getremove gcc-arm-none-eabi

步骤 2:高速下载

使用华为鸿蒙镜像源下载10.3版本(包含 GDB):

wgethttps://repo.huaweicloud.com/openharmony/compiler/gcc-arm-none-eabi/10.3/linux/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2

步骤 3:解压安装

建议将工具链解压至/opt目录进行统一管理:

sudomkdir-p /opt/toolsudotar-jxf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 -C /opt/tool/

步骤 4:配置环境变量

编辑~/.bashrc,将工具链路径加入系统 PATH:

# 在文件末尾添加以下内容exportPATH=$PATH:/opt/tool/gcc-arm-none-eabi-10.3-2021.10/bin

刷新配置使立即生效:

source~/.bashrc

🔎 验证安装
输入以下命令,如果显示版本号则说明安装成功:

arm-none-eabi-gdb --version


🛠️ 疑难杂症:缺少依赖库

在 Ubuntu 24 上运行 GDB 时,极大概率会遇到以下报错:

arm-none-eabi-gdb: error while loading shared libraries: libncurses.so.5: cannot open shared object file

解决方案:
这是因为新版系统默认不再预装旧版 ncurses 库。需手动安装:

sudoaptinstalllibncurses5 -ysudoaptautoremove# 清理之前可能安装的冗余依赖

💻 进阶:GDB + QEMU 调试演示

安装完成后,以下是如何配合 QEMU 进行 ARM 裸机调试的示例。

1. 启动 QEMU 模拟器(终端窗口 A)

qemu-system-arm\-machine lm3s811evb\-kernel firmware.elf\-S\# 核心参数:启动后立即暂停 CPU,等待 GDB 指令-gdb tcp::9000# 核心参数:开启 GDB Server,监听 9000 端口

2. 连接 GDB 开始调试(终端窗口 B)

arm-none-eabi-gdb firmware.elf

进入 GDB 交互界面后输入:

(gdb) target remote localhost:9000 # 连接到 QEMU 端口 (gdb) b main # 在 main 函数打断点 (gdb) c # 恢复运行(Continue)

📚 参考资源

  • ARM 官方工具链下载页
  • QEMU Cortex-M 模拟器使用指南
  • Linux GDB 常用命令速查

本账号所有文章均为原创,欢迎转载,请注明文章出处:https://shandianchengzi.blog.csdn.net/article/details/155863493。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 8:13:54

自建项目管理平台:用 Focalboard+cpolar 打破协作边界

文章目录前言1. 使用Docker本地部署Focalboard1.1 在Windows中安装 Docker1.2 使用Docker部署Focalboard2. 安装Cpolar内网穿透工具3. 实现公网访问Focalboard4. 固定Focalboard公网地址前言 Focalboard 是一款开源的项目管理工具,核心功能围绕看板协作展开&#x…

作者头像 李华
网站建设 2026/6/10 9:57:35

一文吃透API网关:核心功能详解

前言 在现代软件架构,尤其是微服务和云原生环境中,API网关早已不是可有可无的组件,而是扮演着至关重要的“守门人”角色。它作为所有客户端请求的统一入口,承担着路由、认证、限流、监控等一系列核心职责。无论是应对突发流量高峰…

作者头像 李华
网站建设 2026/6/10 9:52:23

ViGEmBus虚拟游戏控制器驱动终极指南:从入门到精通

想要在Windows系统上完美使用各种游戏手柄?ViGEmBus虚拟游戏控制器驱动就是你的最佳解决方案!这款强大的开源驱动程序能够将任何输入设备模拟成Xbox 360或DualShock 4控制器,让你的游戏体验更加丰富多彩。 【免费下载链接】ViGEmBus 项目地…

作者头像 李华
网站建设 2026/6/10 9:53:09

空洞骑士模组管理革命:Scarab带你告别繁琐安装

空洞骑士模组管理革命:Scarab带你告别繁琐安装 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 还在为空洞骑士模组安装的种种困扰而烦恼吗?手动复制文件…

作者头像 李华
网站建设 2026/6/10 9:53:11

论文写作指导官网排名:7大平台+专业团队推荐

论文写作指导官网排名&#xff1a;7大平台专业团队推荐 7大AI论文工具核心对比速览 工具名称 核心优势 适用场景 生成速度 原创性保证 Aibiye 全学科覆盖&#xff0c;支持图表公式自动插入 理工科论文初稿 20-30分钟 重复率<15% Aicheck 自定义大纲生成&#xf…

作者头像 李华
网站建设 2026/6/10 9:47:02

文献批判性分析期末复习指南:核心方法、常见问题与高分策略解析

开题报告前那两个月&#xff0c;我电脑里塞满了乱七八糟的PDF&#xff0c;参考文献格式错得千奇百怪&#xff0c;导师一句“脉络不清”打回来三次。后来才发现&#xff0c;问题不是读得不够多&#xff0c;而是工具没用对。这三个工具帮我理清了思路&#xff0c;把一堆文献变成了…

作者头像 李华