找回密码
 立即注册
查看: 24371|回复: 0

在调试STM32时的条件断点

[复制链接]

99

主题

45

回帖

184

积分

版主

积分
184

优秀版主

发表于 2015-10-18 18:13:07 | 显示全部楼层 |阅读模式

conditional-breakpoint.jpg


当与硬件打交道时(尤其是在调试异步事件),调试过程中只有当某一事件发生时才会停止执行,这是一个非常普遍的情况。这被称为条件断点。

如果您正在使用STM32系列和Cortex-M处理器的ARM CMSIS包,而且你的工具链是基于GCC与GDB的调试器,你可以在你的代码中放置以下指令:

  1. #include "cortexm/ExceptionHandlers.h"
  2. ...
  3. if(condition) {
  4.     __DEBUG_BKPT();
  5. }
  6. ...
复制代码

当事件在该行发生时GDB会自动停止。

这节省了我的时间。

如果你能看到我的世界里那些渐渐消逝的美好,你就能体会到现在所拥有的幸福。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|YiBoard一板网 ( 冀ICP备18020117号 )

GMT+8, 2025-10-29 15:50 , Processed in 0.076887 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表