暂停调试器时STM32冻结周边

Nix*_*xmd 4 debugging gdb arm stm32

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

vee*_*man 5

您只能容纳时间/取决于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);
Run Code Online (Sandbox Code Playgroud)

如果您的代码达到断点,这将停止几个计时器。如果您的DMA事务依赖于指定的计时器(例如我的计时器),它也会隐式停止,否则不会停止。