XIVN1987 发表于 2017-12-23 17:00:15

使用Qt Creator调试单片机程序

本帖最后由 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中那样单步调试、设置断点、添加观察变量那样愉快的调试了{:lol:}

huy666 发表于 2017-12-23 17:31:20

多谢楼主   

3050311118 发表于 2017-12-23 17:35:43

还有这等操作,见识了

fei-lai-fei-qu 发表于 2017-12-23 19:18:58

哇,厉害

了无 发表于 2017-12-23 19:36:30

楼主和我是同道中人啊,我也是用qt creater来编辑编译英飞凌单片机代码,但是不会调试,英飞凌的那个调试软件界面很不好,还是收费的,你这个可以支持吗?

XIVN1987 发表于 2017-12-23 19:54:40

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


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

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

Excellence 发表于 2017-12-23 20:45:36

好文章,先mark。

liurangzhou 发表于 2017-12-23 20:55:01

还是不如eclipse,不过速度占优

XIVN1987 发表于 2017-12-23 21:01:38

liurangzhou 发表于 2017-12-23 20:55
还是不如eclipse,不过速度占优


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

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

eliterxzgxu 发表于 2017-12-23 21:04:57

感谢楼主分享

boyiee 发表于 2017-12-23 22:27:19

Qt Creator 现在做的真心不错了,编写查看代码都不错。 算是数得上的IDE了。

浪客剑心绯村 发表于 2017-12-23 22:30:28

不错,标记下mark

honami520 发表于 2017-12-23 23:39:40

没想到还能这样玩啊,不错

huangqi412 发表于 2017-12-24 08:23:49

ide还是vs强大吧

fengyunyu 发表于 2017-12-24 12:21:02

强大,谢谢分享

hexenzhou 发表于 2017-12-24 15:05:46

谢谢楼主分享,又学到一招。{:lol:}

liurangzhou 发表于 2017-12-24 21:53:11

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

Java写的程序都速 ...

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

liurangzhou 发表于 2017-12-24 22:03:27

对了,请教楼主,Qt creator的快捷键可改么?我习惯了eclipse的f3,而不是F2

XIVN1987 发表于 2017-12-24 22:45:10

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


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

justdomyself 发表于 2017-12-24 23:31:51

大家现在玩的是qt几?

LVmcu 发表于 2017-12-25 09:36:19

本帖最后由 LVmcu 于 2017-12-25 09:49 编辑

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

zxq1990 发表于 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_releases/qt/5.9/5.9.1/qt-opensource-windows-x86-5.9.1.exe.mirrorlist
拿走不谢{:lol:}

Bicycle 发表于 2017-12-25 14:03:59

学习了,谢楼主分享

kingqb 发表于 2017-12-26 01:59:42

谢谢分享。

Bicycle 发表于 2017-12-28 19:05:04

厉害,学习了

了无 发表于 2019-4-20 10:50:01

我按你图中选的gdb-py.exe,但是qt不识别,所以不能用,选gdb.exe,可以识别,但是调试的时候提示该gdb不支持python script,怎么解决

XIVN1987 发表于 2019-4-20 11:54:39

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


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

了无 发表于 2019-4-20 19:57:50

XIVN1987 发表于 2019-4-20 11:54
没遇到过这种情况,,搜了下也没搜到,,不行就换其他IDE吧

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

XIVN1987 发表于 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版


Phonse 发表于 2019-4-20 22:47:34

这QT玩的真是溜啊。。赞一个

页: [1]
查看完整版本: 使用Qt Creator调试单片机程序