peng-zhihui/Dummy-Robot

STM32F4 openocd开发,运行正常,但是debug过不去systemclock-config()函数

sytnocui opened this issue · 4 comments

稚晖君你好,我最近使用stm32f405rgt6开发项目,使用stlink,clion,openocd调试。发现debug模式无法通过systemclock-config函数,会卡在锁相环初始化这里。只有参考这个网址修改了系统生成的systemclock-config函数才可以正常调试。但是修改系统生成的函数,每次cubemx更新都会覆盖掉,非常不方便,不知道你是怎么解决这个问题的?
我的同学使用stm32cubeide调试,就没有这个问题。
我注意到你在瀚文键盘里的调试器已经改用了cmsis-dap,有没有这方面的考虑?

LJ)WR}`F8_I)W3O$%(BXIL1
如图所示,会跳进这里,然后卡死

main函数最开始加一句RCC_DeInit()就行了,跟DAP没关系,时钟初始化的问题。

main函数最开始加一句RCC_DeInit()就行了,跟DAP没关系,时钟初始化的问题。

果然可以了,谢谢大佬orz。
另外我也尝试了在stm32cubeide里进行调试,这个调试方式是stlink gdb server,就是什么都不用加就是好使的。我尝试配了一个 clion+gdb+jlink 的debug环境,也是什么都不加就好使。
总结一下就是跟GDB沾边的都是能用的,但用openocd就得加“RCC_DeInit()”这句话。可否再麻烦问一下出现这种情况的详细原因?是和openocd有关系吗?

tip:如果有路人看到了可以参考这篇文章:CLion配置STM32开发环境(JLink GDB Server)

终于找到这个问题的答案了,我也被这个困扰了一下午,下载完全正常,但就是调试的时候过不去,一开始还以为是板载的DAP有问题。

不过小白想问一句:为什么用OpenOCD的时候就必须用DeInit呢?