debugging - 暂停调试器时 STM32 卡住外围设备

标签 debugging gdb arm stm32

当 Cortex 到达断点或用户暂停代码执行时,调试器可以停止执行 Cortex 中的代码。但是,当 cortex 在暂停状态下停止执行代码时,调试器是否会卡住其他外围设备,如 DMA、UART 和 TIMERS?

最佳答案

您只能保留时间/r 取决于外围设备。

我在进入主函数时调用以下代码:

  DBGMCU->APB1FZ |= DBGMCU_APB1_FZ_DBG_TIM2_STOP | DBGMCU_APB1_FZ_DBG_TIM3_STOP | 
                    DBGMCU_APB1_FZ_DBG_TIM4_STOP | DBGMCU_APB1_FZ_DBG_TIM5_STOP);

  DBGMCU->APB2FZ |= (DBGMCU_APB2_FZ_DBG_TIM19_STOP);

如果您的代码遇到断点,这会停止多个计时器。如果您的 DMA 事务取决于指定的计时器(如我的),它也会隐式停止,否则不会。

关于debugging - 暂停调试器时 STM32 卡住外围设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43204687/

相关文章:

c# - 如何在 Visual Studio 中启用/禁用编译错误警告

不能插入断点。低值地址

c++ - 如何展开堆栈以获取指定堆栈指针(SP)的回溯?

c++ - 使用 RVCT 为 WinCE/Window Mobile 编译 AMR-nb 编解码器

安卓/ eclipse : why do I have to unplug/replug my device each time before launching my app?

.NET 应用程序挂起,我无法调试它

linux - Android SDK在Eclipse上调试问题

python - gdb.execute 阻塞 python 脚本中的所有线程

malloc() 和 free() 的 C 动态内存问题

linux-kernel - Linux内核如何管理小于1GB的物理内存?