Clion下stm32的GDB调试出错

别来无恙 提交于 2020-03-07 11:23:57

Truncated register 16 in remote ‘g’ packet

问题复现

参照网上给出的教程配置了Clion+openOCD+arm-gcc的开发环境,但是当我想用Debug功能的时候却给出我一个异常代码:

Truncated register 16 in remote 'g' packet

WTF?
于是乎我就百度,Google各种找,但是就没找到问题的解决办法.
期间有的说把使用Mingw 32位可以解决,我试过了无效

解决思路

当时我就在想,我能够正常的编译和烧写,那么我的编译器和openOCD配置就没出错
那么问题只可能出在GDB身上,但是我这个GDB是按照官方的说法使用的是默认的GDB,不大可能会出错的啊
想来想去想不明白,那我就只有手动GDB调试一下,看下是哪里的问题


然后我就在网上找到了@Foresights写的GDB的使用教程
这里有几点需要注意一下,因为Windows环境下的openOCD*.cfg文件集成了下载器对应板子两个配置文件,所以我们只需要写一条命令就好了

openocd stm32f4discovery.cfg

注意到我们使用是arm-none-eabi-gdb

这里最好把openocd的目录和arm-gcc的目录添加进环境变量

然后我就神奇的发现,我的GDB可以正常使用

最终解决

回到Clion的设置里面,把默认的那个mingw64GDB修改成arm-gccGDB,其余默认GDB
因为我试过了如果说把这个MinGW不设置成默认,然后在CMake那里指定为这个不是默认的,问题还是会发生
我这里猜测可能是Clion的一些兼容性的问题,就是没办法指定arm-gccGDB,好在这个IDE我平常还是用来写写嵌入式,就让他这样了吧

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!