STM32在暂停调试器时冻结前驱

时间:2017-04-04 10:30:58

标签: debugging gdb arm stm32

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

1 个答案:

答案 0 :(得分:3)

您只能保留时间/ 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事务取决于指定的计时器(如我的),它也将隐式停止,否则不会。