由于开发板不自带编译器和GDB调试器,所以需要使用gdbserver当作媒介,来建立起开发板与linux主机之间的桥梁,进而实现在linux上远程调试开发板上的程序。这里需要注意,你在主机上远程调试开发板上的程序必须是同一个文件夹目录下的同一个ARM可执行程序(可以ntfs挂载实现)

步骤1:需要编译生成gdbserver

下载gdb-9.1并解压到linux服务器,我用的是这个版本,你们也可以下载其他版本。

下载网址https://ftp.gnu.org/gnu/gdb/https://ftp.gnu.org/gnu/gdb/

步骤2:配置gdbserver的编译选项,指定编译器(arm-linux-gnueabihf)

进入到gdbserver文件夹,执行./configure

cd gdb-9.1/gdb/gdbserver
./configure --host=arm-linux-gnueabihf

步骤3:在gdbserver目录开始编译gdbserver

make -j16

最终会在当前gdbserver生成一个gdbserver文件,这就是编译出来的,可以在arm开发板执行的程序

步骤4:将之前编译好的gdbserver文件复制到你开发板运行程序的当前同级目录;并在开发板执行

gdbserver 192.168.101.200:1234 ./Demo.out

其中ip是你linux主机的ip,端口需和主机上调试使用的端口保持一致,可随便设置!

步骤5:在linux主机上执行( 例如这里linux的编译器是arm-linux-gnueabihf-g++,调试器是arm-linux-gnueabihf-gdb,你already配置好了环境变量)

arm-linux-gnueabihf-gdb ./Demo.out

步骤6:然后在主机的gdb界面执行,开始建立linux主机与开发板的gdb服务桥梁

target remote 192.168.101.186:1234

该ip是开发板的ip

这里的ip是主机ip地址,需要将开发板ip和主机ip置于同一个局域网内,端口与开发板运行gdbserver设置的端口保持一致即可。

然后你就可以在linux主机上进行一系列操作了

ARM开发板使用GDB调试程序相关推荐

  1. 通过vscode进行嵌入式linux arm开发板gdb调试

    下载和安装vscode, 下载 vscode for windows 地址:  Visual Studio Code - Code Editing. Redefined 安装 "remote ...

  2. 如何优雅地用ARM开发板搭建服务器

    为什么80%的码农都做不了架构师?>>>    本文参见Building a tiny ARM-based server,是翻译,也是学习. 我拆了一个旧的ARM开发板,并用它制作了 ...

  3. Qtcreator远程调试arm开发板程序指南

    环境配置 1 ,交叉编译gdb, 主要是gdbserver,把gdbserver 放在arm开发板的可执行程序目录里 2 安装gdb-multiarch, sudo apt-get install g ...

  4. 嵌入式开发入门之经典 ARM开发板

    嵌入式开发入门之经典 开始进入嵌入式世界,真是一头雾水,不知道如何入手!也不知道该如何学习,学习什么,最近从网上转载这篇文章,对我启发很大,对于初始进入嵌入式的人们很有帮组,好多嵌入式大侠都说这是入门 ...

  5. 地平线x3使用vscode 远程调试linux虚拟机或者arm 开发板

    使用vscode做远程调试的主要目的是为了能够调试自己的arm开发板,也就是地平线x3派.之前他们提供了基于python开发,模型移植但是后处理这一块太慢了,所以想着如何去移植. 首先从vscode里 ...

  6. 【linux】ARM开发板上设置RTC时间,断电重启后,设置失效的原因分析

    问题描述 linux中使用date设置时间后用hwclock -w同步到RTC,断电重启后,有时会失效 原因分析 保存时间戳 1.使用命令关机(halt)会调用rc0.d中的脚本: 2.使用命令重启( ...

  7. 如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文主要介绍如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib. OpenC ...

  8. arm linux 核心板 制作,Linux下制作给ARM开发板使用的文件系统

    1.Busybox源码请网上自行下载,编译方法请参考百度. 2.交叉编译工具链的设置也请先设置好. 如果以上1.2没有问题,那么可以使用以下脚本,制作一个给ARM开发板使用的文件系统. 可以自行定制使 ...

  9. 编译ARM平台的 QtEmbedded 的MySQL插件和移植MySQL到ARM开发板

    经过几天的努力,终于交叉编译出了arm平台所需Qt/E的MySQL插件(驱动),其中顺便把MySQL也移植到了mini2410的开发板上. 编译器:arm-linux-gcc(4.3.2) Pc平台: ...

最新文章

  1. python 第3课 数据类型之list
  2. mysql中删除同一行会经常出现死锁?太可怕了
  3. Javascript获取url参数值
  4. 通常你会在什么地方遇到DBNull?
  5. 【Python】[02]初识Python
  6. 第二代iPhone XR高清渲染图曝光:“美背”感人!
  7. vsftp不同帐号的目录和权限
  8. 传智播客java学习内容
  9. css技巧---电子表体字体引入
  10. 软件测试用例设计(三)——场景法
  11. woj 1567 - D - Sloth's Angry(贪心)
  12. POSCMS 城市三联动回显(自定义)
  13. C3P Software 发布 Cast-Designer V7.7版本
  14. 炒股杠杆-AI量化交易
  15. 2018年算法工程师薪酬报告出炉:平均年薪50.21万,点燃寒冬的一把火
  16. DIY | 教你做一个万圣节专属徽章!
  17. bundle initial exceeded maximum budget. Budget 1.00 MB was not met by 642.91 kB with a total of 1.63
  18. 家庭宽带市场竞争分析
  19. 我临《颜勤礼碑》,没有老师,每天写三张纸,能这样练下去吗?
  20. isco 的六种模式(cisco 系统)

热门文章

  1. 在Word2007文档中设置页面边框
  2. blender改变物体中心位置
  3. 服务器无响应(已断开),服务器无响应 已断开(服务器无响应)
  4. 重载java_方法重载
  5. 移动端项目功能点及实现方案 (图片居多)
  6. 从 电影《飞驰人生》中想到
  7. oracle rfs进程过多,【DB笔试面试755】在Oracle的DG中,RFS、LNSn、MRP、LSP进程的作用分别是什么?...
  8. D. Masquerade strikes back(思维)
  9. DELPHI获取网卡MAC地址
  10. 2019TFE计算机科学排名,2019TFE美国会计专业研究生排名前50