STM32
直播中

张旭

7年用户 1013经验值
私信 关注
[问答]

STM32F103使用keil5进入debug模式,断点能触发,但是程序还在运行,为什么?

最近遇到一个问题,使用keil5进入debug模式,断点能触发,但是程序还在运行,就是板子上有个灯还在闪,这是定时器控制的,为啥程序停不下来啊。

回帖(1)

神船大幅

2024-3-20 16:21:14
有几个可能的原因导致程序在进入debug模式后仍然继续运行。

1. 优化器设置:在编译选项中,可能启用了优化选项,例如-O1,-O2等。这些优化选项可能会导致程序在debug模式下不正确的执行顺序。尝试禁用优化选项来解决该问题。

2. 选项字节和停用线程栈保护:检查选项字节配置和停用线程栈保护的设置,确保它们正确配置,以便程序在debug模式下能够正确暂停。

3. 时间片轮转:如果您的程序使用了RTOS或者类似的操作系统,可能会使用时间片轮转来调度任务。在debug模式下,时间片轮转可能会继续进行,使得程序看起来仍然在运行。您可以尝试禁用时间片轮转功能,或者通过设置断点在任务切换时暂停程序。

4. 调试窗口设置:确保正确配置了调试窗口,例如寄存器窗口、存储器窗口等。如果这些窗口没有正确的设置,您可能无法正确观察和控制程序的执行。

如果上述解决方法未能解决问题,请提供更多关于您的硬件和软件环境、代码示例以及您尝试过的解决方法的详细信息,以便我们可以进一步帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分