搜索
bottom↓
回复: 20

入门教程:如何使用QT Creator单步调试i.mx6Q嵌入式程序

  [复制链接]

出0入0汤圆

发表于 2018-11-7 02:40:37 | 显示全部楼层 |阅读模式
本帖最后由 xuboluan 于 2018-11-7 02:40 编辑

开发环境:
开发板 :TQIMX6Q_BASEC_V1 LVDS显示屏
ROOTFS:rootfs_ubuntu_IMX6_for_linux_V3.0_R1.3(自带qt环境)
虚拟机:ubuntu_14.04_lts
GCC版本  GCC-6(虚拟机)
GDB版本 GDB-8.2(虚拟机) 下载地址 http://ftp.gnu.org/gnu/gdb/
SSH版本 Openssh_7.22(板子) OpenSSH_6.6.1p1(虚拟机)主机必须能连接板子的ssh
QT Creator版本  4.7.2 下载地址:http://download.qt.io/official_releases/qtcreator/4.7/4.7.2/
参考资料:https://youtu.be/kP7uvOu9hoQ
实现功能:
单步调试linux程序。

由于这块板子官方给的交叉编译工具自带了交叉编译过的QT5.5 所以这里不涉及QT5.5的交叉编译问题。
实现步骤:
1/安装QT Creator
./qt-creator-opensource-linux-x86_64-4.7.2.run
2/打开QT Creator ->工具->选项->构建和运行








在程序的.pro文件中加入

GUI程序需要设置运行时的环境变量


其中target.path  =  需要在开发板中部署的路径


3.然后单击运行就可以把程序部署在板子上,单击调试就可以进行单步调试。效果如下图。




写在后面:
关于QT Creator 版本:高版本不能与qt5.5共存需要很多设置,版本太低调试的时候会出现莫名其妙的BUG。
关于GDB版本:前期排查原因的时候换掉了gdbserver 与 gdb  版本,所以就编译使用了最高版本。
关于GCC:  低版本的GCC编译不过高版本的GDB所以换掉了
用到的指令记录:
#GDB编译
sudo apt-get -f install

sudo apt-get install texinfo

sudo apt-get install libncurses5-dev

sudo apt-get install m4

sudo apt-get install flex

sudo apt-get install bison

wget http://ftp.gnu.org/gnu/gdb/gdb-8.2.tar.gz

mv -i gdb-8.2.tar.gz /opt/GDB/

cd /opt/GDB/

sudo apt-get install python-dev

tar -zxvf gdb-8.2.tar.gz

cd gdb-8.2


./configure --target=arm-linux-gnueabihf  --prefix=/opt/GDB/arm-gdb8.2 --with-python

make -j8

make install

cd ./gdb/gdbserver

./configure --target=arm-linux-gnueabihf --host=arm-linux-gnueabihf

make CC=/opt/EmbedSky/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc

#/gdb-8.2/gdb/gdbserver 中生成了 gdbserver   把他下载到目标板上 ./gdbserver 192.168.1.7:3000 testprg (主机地址:端口 调试软件)

#/arm-gdb8.2/bin  中生成了 arm-linux-gnueabihf-gdb 。在linux主机上./arm-linux-gnueabihf-gdb  即可运行主机上的GDB

#(gdb) target remote 192.168.1.5:3000(板子地址:端口)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2018-11-7 03:06:44 | 显示全部楼层
不错,后面试试

出0入0汤圆

发表于 2018-11-7 07:37:08 | 显示全部楼层
嗯,远程调试的方式用起来还是很方便的

出0入0汤圆

发表于 2018-11-7 14:05:50 | 显示全部楼层
很详细。

出0入0汤圆

发表于 2018-11-7 14:43:31 | 显示全部楼层
这个必须标记

出0入0汤圆

发表于 2018-11-21 11:42:48 | 显示全部楼层
Thank you !!!

出0入0汤圆

发表于 2018-11-21 11:45:28 | 显示全部楼层
不错,很好的帖子,下午试试

出0入25汤圆

发表于 2018-11-21 11:58:48 来自手机 | 显示全部楼层
技术贴,,顶一下

出0入0汤圆

发表于 2018-11-21 12:06:02 | 显示全部楼层
牛逼,学习下。

出0入90汤圆

发表于 2018-11-21 12:12:14 | 显示全部楼层
一直都是ubuntu上面写,交叉编译丢板子运行,串口看效果。这种不知道是不是任何板子都可以支持呢?

出10入0汤圆

发表于 2018-11-21 12:16:31 | 显示全部楼层

技术贴,,顶一下

出0入0汤圆

 楼主| 发表于 2018-11-21 12:41:24 | 显示全部楼层
honami520 发表于 2018-11-21 12:12
一直都是ubuntu上面写,交叉编译丢板子运行,串口看效果。这种不知道是不是任何板子都可以支持呢?
...

只要GDB 通了都可以的,只不过这个IDE把GDB操作封装起来了而已。
这个IDE可以指定 sysroot 这样就不用板子往上位机传各种so了理论可以调的更快,还没时间验证。

出0入0汤圆

发表于 2018-11-21 16:17:18 | 显示全部楼层
正好需要,谢谢。。

出0入0汤圆

发表于 2018-11-29 19:34:25 | 显示全部楼层
MARK                                                      

出0入0汤圆

发表于 2018-11-30 11:53:21 来自手机 | 显示全部楼层
xuboluan 发表于 2018-11-21 12:41
只要GDB 通了都可以的,只不过这个IDE把GDB操作封装起来了而已。
这个IDE可以指定 sysroot 这样就不用板 ...

把gdb包含在工程里?

出0入0汤圆

 楼主| 发表于 2018-11-30 12:37:28 | 显示全部楼层
huangqi412 发表于 2018-11-30 11:53
把gdb包含在工程里?

把GDB路径配置在IDE里,IDE调用了GDB。

出0入0汤圆

发表于 2018-12-29 15:09:53 | 显示全部楼层
测试有些简单QT程序, 还是可以调试, 一大就不行了, 说server 没有响应

出0入0汤圆

发表于 2019-5-17 23:19:55 | 显示全部楼层
学习了,下次用到再仔细看

出0入59汤圆

发表于 2019-5-18 08:44:13 | 显示全部楼层
之前折腾过,调试个HELLO WORD 的程序,肯定可以, 复杂的程序就崩了;而且单步呀,那些调试速度巨慢; 反正就是体验非常差;生不如死得感觉

现在我都是在X86的机器上先编译,调试好,再编译成ARM 的版本  (QT 跨平台的好处);

什么时候linux的开发能做到好似IAR 那样就爽了;

出0入0汤圆

发表于 2019-5-19 11:36:19 来自手机 | 显示全部楼层
谢楼主,字习了。

出0入0汤圆

发表于 2019-9-17 17:25:45 | 显示全部楼层
学习了,多谢分享 mark一下:QT 远程调试
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 11:46

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表