关于如何使用CLion对于STM32进行调试debug工作的讨论
文章目录
1.准备工作
能够完成将stm32的clion代码烧录配置好的工作
2.两种方案实现STM32debug调试
2.1配置嵌入式GDB服务器
localhost:3333
-f interface/stlink.cfg -f target/stm32f4x.cfg
注意此处我是用的stlink和stm32f4x系列,如果所用非上述,还需要自己更改。
有关daplink的配置,CLion配置STM32开发环境(JLink GDB Server)。此处不多赘述。
切换一下配置,我们就可以调试了,需要注意的是,如果监测的是一个变量的话,需要注意变量是可能被编译器优化的,看一下我们不加修饰语的结果如下图
将volatile修饰变量名,就可以达到前一张图的效果。
2.2直接使用OPENOCD进行调试
我们会发现一个问题,debug在system config这个函数的最后被送到了error handler手里
我们在main函数一开头加上复位时钟的函数就可以继续调试了
3.查看寄存器
想要查看诸如gpio这样的寄存器,我们需要取得它们的svd文件
无需去官网找半天,直接在cube里获取
下载下它的文件然后给clion即可
4.其他不知名报错
在使用openocd调试的过程中,我们也可能遇到这样一种报错情况:stm32调试器进程已结束,退出代码为1
遇到这样的错误,我们可以留意一下openocd的exe程序文件所在路径是否存在空格。
若有,将openocd整个文件夹直接搬走即可,然后别忘了在clion的设置中将openocd的路径随之改变下。
5.结语
还可参考下这个链接github参考链接
那么
STM32+CLion+openocd+GBD调试是怎么回事呢?大家都知道STM32+CLion+openocd+GBD调试,那么这是怎么回事呢,今天小编就带大家来看看。其实就是STM32+CLion+openocd+GBD调试,大家可能会问为什么,但是事实就是这样,小编也很惊讶。好了,这就是STM32+CLion+openocd+GBD调试的原因。