当前位置:   article > 正文

STM32 Cubemx Freertos 工程, 用GDB进行debug时候, 跳进HardFault_Handler的问题_gdb调试直接进入 handler hardfault

gdb调试直接进入 handler hardfault

现象:  正常运行没问题,   但是一旦用gdb来debug, 开场很快就进hardfault

分析:

进了hardfault时候观察调用栈

 竟然是从定时器中断过来的

也就是定时器中断执行这条时候

 再往前推, 是初始化systick时候

也就是说, 前一行把中断打开, 这一行打开定时器时钟, 马上进了一次中断, 然后就崩了... 

中断处理里面还在比较CCMR什么的寄存器呢, 这些东西还没有被初始化

把中断使能移动到定时器初始化之后就好了

原因: Hal驱动库版本老, 存在bug, 新版本已经修正. 

github上主线的timebase模板已经修正了: 

果然我现在的库是老的,   那么更新一下看看

升级到了1.8.5 结果也是不行的, 库里的时基模板文件已经修了这个bug, 但cubemx生成的还是一样

再试试升级cubemx本体

 这回就好了,  能生成没bug的代码了

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/50638
推荐阅读
相关标签
  

闽ICP备14008679号