搜索
bottom↓
回复: 29

使用Qt Creator调试单片机程序

  [复制链接]

出0入25汤圆

发表于 2017-12-23 17:00:15 | 显示全部楼层 |阅读模式
本帖最后由 XIVN1987 于 2017-12-23 17:04 编辑

之前分享过一篇使用Qt Creator阅读C/C++代码

最近阅读micropython的源代码也是用的Qt Creator,跳转、补全确实很方便

由于micropython是使用arm-none-eabi-gcc编译、使用make管理工程的,没有办法用Keil或IAR调试,,因此探索了下用Qt Creator调试GCC、Make生成的代码的方法,,现分享给坛友

第一步、建立Qt Creator工程,参考使用Qt Creator阅读C/C++代码

第二步、编译代码生成elf文件,由于micropython使用make、gcc编译,因此这步实际上跟Qt Creator没啥关系,在命令行下输入make编译即可;我用的Windows 10 的WSL子系统、这样就不用使用虚拟机了、也方便Windows、Linux之间互相使用文件,,个人感觉挺方便。。。。。。。唯一需要注意的是:需要生成包含调试信息的elf文件

第三步、配置Qt Creator的Bare Metal插件,这是Qt Creator支持单片机调试的一个插件,,关于这配置,网上有很多说明,比如:
Connecting Bare Metal Devices
Debugging using QtCreator on Mac

我来简要说下步骤:
1、使能Bare Metal插件,,



2、重启Qt Creator,添加并配置一个Bare Metal Device




3、配置单片机的编译工具链

Qt Creator需要一个gdb来调试代码,因此如果Qt Creator是在Windows下运行的话,需要额外安装一个gdb软件,我安装的是 gcc-arm-none-eabi-6-2017-q2-update-win32.zip
下面那个Working Directory用来指定源代码目录,否则调试的时候Qt Creator找不到源代码

对于micropython的调试,这个可以不用指定,因为micropython只能在Linux环境下(或者Windows 10下的WSL子系统)编译,Windows下的arm gcc编译器不能编译,,指定了也没用


第四步、配置工程,开始调试
1、配置工程,使用Bare Metal工具链


3、连接硬件,启动JLinkGDBServer.exe(需要安装Segger公司的JLink软件)




4、在代码上设置断点,点击开启调试按钮开始调试


同时,在JLinkGDBServer中可以查看到连接状态


接下来,就可以像Keil中那样单步调试、设置断点、添加观察变量那样愉快的调试了

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2017-12-23 17:31:20 来自手机 | 显示全部楼层
多谢楼主   

出0入0汤圆

发表于 2017-12-23 17:35:43 来自手机 | 显示全部楼层
还有这等操作,见识了

出0入0汤圆

发表于 2017-12-23 19:18:58 来自手机 | 显示全部楼层
哇,厉害

出0入8汤圆

发表于 2017-12-23 19:36:30 来自手机 | 显示全部楼层
楼主和我是同道中人啊,我也是用qt creater来编辑编译英飞凌单片机代码,但是不会调试,英飞凌的那个调试软件界面很不好,还是收费的,你这个可以支持吗?

出0入25汤圆

 楼主| 发表于 2017-12-23 19:54:40 | 显示全部楼层
了无 发表于 2017-12-23 19:36
楼主和我是同道中人啊,我也是用qt creater来编辑编译英飞凌单片机代码,但是不会调试,英飞凌的那个调试软 ...


如果要支持,需要满足以下两点:
1、你的单片机需要有一个GDB Server,就像JLinkGDBServer
2、你的单片机的编译器需要是GCC,否则GDB不识别生成文件里面的调试信息

如果你用的是英飞凌Cortex-M内核单片机,那肯定可以;否则的话很可能不行

出0入0汤圆

发表于 2017-12-23 20:45:36 来自手机 | 显示全部楼层
好文章,先mark。

出0入0汤圆

发表于 2017-12-23 20:55:01 | 显示全部楼层
还是不如eclipse,不过速度占优

出0入25汤圆

 楼主| 发表于 2017-12-23 21:01:38 | 显示全部楼层
liurangzhou 发表于 2017-12-23 20:55
还是不如eclipse,不过速度占优


确实,功能性不如Eclipse(但也够用),但优点是速度快、界面美(个人感观

Java写的程序都速度慢、吃内存、吃硬盘、长的丑(同上,个人感观 ),所以都不喜欢,,比如PyCharm,应该是功能最强的Python IDE了,可是长成那样我就接受不了了

出0入0汤圆

发表于 2017-12-23 21:04:57 来自手机 | 显示全部楼层
感谢楼主分享

出0入84汤圆

发表于 2017-12-23 22:27:19 | 显示全部楼层
Qt Creator 现在做的真心不错了,编写查看代码都不错。 算是数得上的IDE了。

出0入0汤圆

发表于 2017-12-23 22:30:28 来自手机 | 显示全部楼层
不错,标记下mark

出0入90汤圆

发表于 2017-12-23 23:39:40 | 显示全部楼层
没想到还能这样玩啊,不错

出0入0汤圆

发表于 2017-12-24 08:23:49 来自手机 | 显示全部楼层
ide还是vs强大吧

出100入101汤圆

发表于 2017-12-24 12:21:02 | 显示全部楼层
强大,谢谢分享

出0入0汤圆

发表于 2017-12-24 15:05:46 | 显示全部楼层
谢谢楼主分享,又学到一招。

出0入0汤圆

发表于 2017-12-24 21:53:11 | 显示全部楼层
XIVN1987 发表于 2017-12-23 21:01
确实,功能性不如Eclipse(但也够用),但优点是速度快、界面美(个人感观 )

Java写的程序都速 ...

pydev,eclipse插件,现在速度基本可以接受了,不过不能检索大工程,qt我总是感觉不如wxwidgets,无奈qt有商业支持,所以wx已经不行了

出0入0汤圆

发表于 2017-12-24 22:03:27 | 显示全部楼层
对了,请教楼主,Qt creator的快捷键可改么?我习惯了eclipse的f3,而不是F2

出0入25汤圆

 楼主| 发表于 2017-12-24 22:45:10 | 显示全部楼层
liurangzhou 发表于 2017-12-24 22:03
对了,请教楼主,Qt creator的快捷键可改么?我习惯了eclipse的f3,而不是F2


可以改啊,它那个Locate命令快捷键原本是 Ctrl+K,我就改成了类似Sublime的 Ctrl+P
有个专门的修改界面,,修改很方便:

本帖子中包含更多资源

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

x

出0入8汤圆

发表于 2017-12-24 23:31:51 来自手机 | 显示全部楼层
大家现在玩的是qt几?

出0入0汤圆

发表于 2017-12-25 09:36:19 | 显示全部楼层
本帖最后由 LVmcu 于 2017-12-25 09:49 编辑

在官网看Qt Creator要收费下载,楼主没有可以下载的连接?(我在这个网站 https://www.qt.io/

出0入0汤圆

发表于 2017-12-25 11:53:22 | 显示全部楼层
LVmcu 发表于 2017-12-25 09:36
在官网看Qt Creator要收费下载,楼主没有可以下载的连接?(我在这个网站 https://www.qt.io/) ...

http://download.qt.io/official_releases/qt/5.6/5.6.1-1/
http://download.qt.io/official_r ... .9.1.exe.mirrorlist
拿走不谢

出0入0汤圆

发表于 2017-12-25 14:03:59 | 显示全部楼层
学习了,谢楼主分享

出0入4汤圆

发表于 2017-12-26 01:59:42 | 显示全部楼层
谢谢分享。

出0入0汤圆

发表于 2017-12-28 19:05:04 来自手机 | 显示全部楼层
厉害,学习了

出0入8汤圆

发表于 2019-4-20 10:50:01 | 显示全部楼层
我按你图中选的gdb-py.exe,但是qt不识别,所以不能用,选gdb.exe,可以识别,但是调试的时候提示该gdb不支持python script,怎么解决

本帖子中包含更多资源

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

x

出0入25汤圆

 楼主| 发表于 2019-4-20 11:54:39 | 显示全部楼层
了无 发表于 2019-4-20 10:50
我按你图中选的gdb-py.exe,但是qt不识别,所以不能用,选gdb.exe,可以识别,但是调试的时候提示该gdb不支 ...


没遇到过这种情况,,搜了下也没搜到,,不行就换其他IDE吧

出0入8汤圆

发表于 2019-4-20 19:57:50 | 显示全部楼层
XIVN1987 发表于 2019-4-20 11:54
没遇到过这种情况,,搜了下也没搜到,,不行就换其他IDE吧

之前的电脑是可以的,现在换工作了,怎么弄都不行,不知道是不是得弄python环境

出0入25汤圆

 楼主| 发表于 2019-4-20 21:57:16 | 显示全部楼层
了无 发表于 2019-4-20 19:57
之前的电脑是可以的,现在换工作了,怎么弄都不行,不知道是不是得弄python环境
...


应该不需要,qtcreator自带了python,,而且32位核64位同时都带了

既然之前可以,现在不行了,是不是qtcreator或者s32ds编译器你换版本了?换回之前的版本试试

gcc-arm-none-eabi编译器有好几个不同的提供方吧,你去developer.arm.com下载个试试,我是从这里下载的2017-q2版


本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2019-4-20 22:47:34 | 显示全部楼层
这QT玩的真是溜啊。。赞一个

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

本版积分规则

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

GMT+8, 2024-4-19 14:47

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

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