STM32 暂停调试器时冻结外设
STM32 Freezing periphirals when pausing the debugger
调试器可以在到达断点或用户暂停代码执行时停止在 Cortex 中执行代码。但是,当 cortex 在暂停状态下停止执行代码时,调试器会冻结其他外设,如 DMA、UART 和 TIMERS 吗?
您只能容纳time/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 事务依赖于指定的计时器(比如我的),它也会隐式停止,否则不会。
调试器可以在到达断点或用户暂停代码执行时停止在 Cortex 中执行代码。但是,当 cortex 在暂停状态下停止执行代码时,调试器会冻结其他外设,如 DMA、UART 和 TIMERS 吗?
您只能容纳time/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 事务依赖于指定的计时器(比如我的),它也会隐式停止,否则不会。