使用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:}
多谢楼主 还有这等操作,见识了 哇,厉害 楼主和我是同道中人啊,我也是用qt creater来编辑编译英飞凌单片机代码,但是不会调试,英飞凌的那个调试软件界面很不好,还是收费的,你这个可以支持吗? 了无 发表于 2017-12-23 19:36
楼主和我是同道中人啊,我也是用qt creater来编辑编译英飞凌单片机代码,但是不会调试,英飞凌的那个调试软 ...
如果要支持,需要满足以下两点:
1、你的单片机需要有一个GDB Server,就像JLinkGDBServer
2、你的单片机的编译器需要是GCC,否则GDB不识别生成文件里面的调试信息
如果你用的是英飞凌Cortex-M内核单片机,那肯定可以;否则的话很可能不行 好文章,先mark。 还是不如eclipse,不过速度占优 liurangzhou 发表于 2017-12-23 20:55
还是不如eclipse,不过速度占优
确实,功能性不如Eclipse(但也够用),但优点是速度快、界面美(个人感观{:lol:} )
Java写的程序都速度慢、吃内存、吃硬盘、长的丑(同上,个人感观{:lol:} ),所以都不喜欢,,比如PyCharm,应该是功能最强的Python IDE了,可是长成那样我就接受不了了{:lol:} 感谢楼主分享 Qt Creator 现在做的真心不错了,编写查看代码都不错。 算是数得上的IDE了。 不错,标记下mark 没想到还能这样玩啊,不错 ide还是vs强大吧 强大,谢谢分享 谢谢楼主分享,又学到一招。{:lol:} XIVN1987 发表于 2017-12-23 21:01
确实,功能性不如Eclipse(但也够用),但优点是速度快、界面美(个人感观 )
Java写的程序都速 ...
pydev,eclipse插件,现在速度基本可以接受了,不过不能检索大工程,qt我总是感觉不如wxwidgets,无奈qt有商业支持,所以wx已经不行了 对了,请教楼主,Qt creator的快捷键可改么?我习惯了eclipse的f3,而不是F2 liurangzhou 发表于 2017-12-24 22:03
对了,请教楼主,Qt creator的快捷键可改么?我习惯了eclipse的f3,而不是F2
可以改啊,它那个Locate命令快捷键原本是 Ctrl+K,我就改成了类似Sublime的 Ctrl+P
有个专门的修改界面,,修改很方便:
大家现在玩的是qt几? 本帖最后由 LVmcu 于 2017-12-25 09:49 编辑
在官网看Qt Creator要收费下载,楼主没有可以下载的连接?(我在这个网站 https://www.qt.io/) 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:} 学习了,谢楼主分享 谢谢分享。 厉害,学习了 我按你图中选的gdb-py.exe,但是qt不识别,所以不能用,选gdb.exe,可以识别,但是调试的时候提示该gdb不支持python script,怎么解决
了无 发表于 2019-4-20 10:50
我按你图中选的gdb-py.exe,但是qt不识别,所以不能用,选gdb.exe,可以识别,但是调试的时候提示该gdb不支 ...
没遇到过这种情况,,搜了下也没搜到,,不行就换其他IDE吧
XIVN1987 发表于 2019-4-20 11:54
没遇到过这种情况,,搜了下也没搜到,,不行就换其他IDE吧
之前的电脑是可以的,现在换工作了,怎么弄都不行,不知道是不是得弄python环境
了无 发表于 2019-4-20 19:57
之前的电脑是可以的,现在换工作了,怎么弄都不行,不知道是不是得弄python环境
...
应该不需要,qtcreator自带了python,,而且32位核64位同时都带了
既然之前可以,现在不行了,是不是qtcreator或者s32ds编译器你换版本了?换回之前的版本试试
gcc-arm-none-eabi编译器有好几个不同的提供方吧,你去developer.arm.com下载个试试,我是从这里下载的2017-q2版
这QT玩的真是溜啊。。赞一个
页:
[1]