1  环境

Win10 64位系统上通过Virtual Box安装了一个Ubuntu虚拟机。

ubuntu的版本:Linux kernel 4.15.0-142-generic #146~16.04.1-Ubuntu SMP

Ubuntu虚拟机中安装了Qt Creator,其版本为:

Qt Creator 4.5.1

Based on Qt 5.10.1 (GCC 5.3.1 20160406 (Red Hat 5.3.1-6), 64 bit)
Built on Feb 10 2018 04:21:03
From revision 24cd0b1cd6

开发板系统:执行uname -a 显示:

Linux imx6qsabresd 4.14.98+g5d6cbeafb80c #1 SMP PREEMPT Wed Nov 25 13:54:56 CST 2020 armv7l armv7l armv7l GNU/Linux

交叉编译工具链:

虚拟机上已经配置好了开发板厂家提供的交叉工具编译链。一定要是板子厂家提供的交叉编译工具链!!务必严格对应!

交叉编译gcc编译器路径(这只是我个人的,因人而异):

/opt/fsl-imx-fb/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc

交叉编译g++编译器路径(这只是我个人的,因人而异):

/opt/fsl-imx-fb/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++

交叉编译gdb路径(这只是我个人的,因人而异):

/opt/fsl-imx-fb/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gdb

如果不知道交叉编译工具链的gdb在哪个具体路径,可以在虚拟机上执行: find / -name *gdb

2 必要的前提

网络通达性

虚拟机必须能与开发板建立网络通讯,能互相ping。

比如本人的虚拟机IP:192.168.40.159

开发板IP: 192.168.40.54

Win10 IP: 192.168.40.181

三者处于同一网段之下。

gdbserver

确保开发板上已经安装了gdbserver。如果没有安装,请自行查询办法。

一般位于/usr/bin目录之下。同样可通过find / -name gdbserver查找。

能往开发板文件系统上传输文件

一般采用NFS挂载、Tftpd工具、scp手段等等。自由选择。

3 Qt Creator配置

在项目配置中,选择Device,输入开发板的IP,SSH端口默认位22,有用户名密码的输入密码,若没有,置空即可。之后点击Test,网络没问题的话会有很明显的连接成功提示。最后,点击Ok.

在选择Bulid&Run,新建Debugger(指定交叉编译工具链的gdb)

项目的编译器设置:

项目的Kits设置:

4 调试步骤

1,使用交叉编译工具链,编译你的工程,得到可执行文件。

2,将可执行文件拖进板子的某个目录,比如/opt/app目录下。

每当源码变动的时候,请一定记得重新执行步骤1,2。

3, 在xshell等终端环境下进入到板子的/opt/app目录下,执行gdbserver .

gdbserver 192.168.40.159:1234 ./filename (你的可执行文件名)

如上文所述,192.168.40.159为win10上Ubuntu虚拟机的IP地址,1234是指定一个服务端口。

执行gdbserver 192.168.40.159:1234 ./filename之后,能在终端看到程序启动的PID等信息,说明启动OK!

4,在虚拟机上的QtCreator中,

再选右侧的Attach to running debug server,

点击OK,这种远程调试会需要十几二十秒的加载启动时间,没有本地调试那么快。

之后在QT Creator中打断点,看变量,就行了!!!所有的Print输出在QT Creator是不可见的,需要在连接到开发板的终端界面中查看。

Qt Creator远程调试嵌入式ARM开发板相关推荐

  1. QT基础入门【调试篇】QT远程部署与调试嵌入式ARM开发板

  2. 学完stm32开发板下一步如何选嵌入式ARM开发板

    如何选择ARM开发板 市场上开发板玲琅满目,我们怎么来选择ARM开发板呢?除了要求ARM开发板资料齐全以外,技术是不是主流.能否结合当前嵌入式产品的应用开发需要,也是很关键的,因为IT技术发展很快,不 ...

  3. linux系统 qt调试,Linux下Qt Creator远程调试(redhat5+mini6410)

    当我们开发嵌入式系统下的Qt应用程序时,有时候不能在虚拟机上进行调试,这时候我们需要通过远程调试的方式在PC上调试嵌入式系统下的Qt应用程序.这样就产生了交叉调试. 本文环境介绍: 虚拟机:vmwar ...

  4. 嵌入式ARM开发板学习方法步骤

    嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有linux,android. 平台:Cortex-A9开发板 嵌入式技术学习如何入手,从何学起呢, 以下内容简单介绍嵌入式开发的学习步骤及如 ...

  5. 香橙派嵌入式arm开发板下载交叉编译工具链说明

    香橙派开发板以处理器分类,包含全志H2.全志H3.全志H5.全志H6等系列,下文以全志H3芯片的开发板为例,对交叉编译工具链的下载进行说明: 1) orangepi-build第一次运行的时候会自动下 ...

  6. 嵌入式ARM开发板11/20

    STM32芯片系统结构 四个驱动单元 Icode.Dcode.System.DMA 指令总线 Icode 数据总线 Dcode 将Cortex-M3和Flash.SRAM进行连接 加载用const修饰 ...

  7. 移植智能卡/读卡器系列驱动(libusb、pcsc-lite、pcsc_tools、ccid)到嵌入式ARM开发板上

    这里安装目录统一用同一个,不然会有问题,这里统一为安装到/usr/ccid下(有些同学可能是公司的服务器,没有权限安装到/usr目录下,那就安装在你本地,如${PWD}/ccid,然后记得要确认pcs ...

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

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

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

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

最新文章

  1. QWidget一生,从创建到销毁事件流
  2. PHP高性能分布式应用服务器框架-SwooleDistributed
  3. html实现圆圈逐渐放大,CSS3 简单的圆形放大旋转变换
  4. 解决SSH连接出现 Software caused connection abort 的问题
  5. STM32 之七 备份域(备份寄存器、备份SRAM)详解及数据丢失问题处理
  6. 在Linux下安装配置Oracle11g R2
  7. Java虚拟机:类加载机制详解
  8. [转]第一章 Windows Shell是什么 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987862】...
  9. 互联网基建成果,快速实现一个clubhouse要多久
  10. 信息学奥赛一本通C++语言——1028:字符菱形
  11. 快门光圈感光度口诀_光圈、快门、感光度之间的关系
  12. 将DynamipsGUI和VMware虚拟机进行桥接
  13. 归并算法Java实现
  14. 中信证券java面试_中信证券面试问题分享
  15. 【源码】regtools:离散不适定问题的分析与求解
  16. 一些最基本的健身知识分享
  17. linux的系统监视器图片_用Jetson Nano构建一个价值60美元的人脸识别系统
  18. 机械CAD软件中还能这样制作材料清单BOM表?
  19. 幼师计算机能力自我评价,幼师简历范文
  20. IOS APP内后台音乐播放

热门文章

  1. android pin码 经典蓝牙_Android蓝牙开发—经典蓝牙详细开发流程
  2. ADS 如何切换不同PDK之间的版图?
  3. android 9.0关机充电流程,充电图标和电量显示百分比修改
  4. 安卓旗舰暴跌2000元,为何频繁跌价?因为它们原本就不值那价钱
  5. 功率的正负,无功,有功功率,容性感性功率
  6. android 判断有无sim卡,Android判断手机里是否有SIM卡
  7. ie打开本地html页面慢,Win10系统网页打开缓慢怎么解决?IE浏览器打开网页慢怎么应对?...
  8. uva11121 Base -2
  9. HTTP中的跨域请求、HTTP报文结构、状态码
  10. 箭头函数esLint的语法检测Unexpected block statement surrounding arrow body