Skip to main content
Associate III
June 10, 2026
Question

Halting the FDCAN peripheral during debugging break points.

  • June 10, 2026
  • 1 reply
  • 24 views

On STM32H733, the HAL provides __HAL_DBGMCU_FREEZE_FDCAN() in stm32h7xx_hal.h but it is conditionally compiled:

#if defined(DBGMCU_APB1HFZ1_DBG_FDCAN)
#define __HAL_DBGMCU_FREEZE_FDCAN() (DBGMCU->APB1HFZ1 |= (DBGMCU_APB1HFZ1_DBG_FDCAN))
#endif

DBGMCU_APB1HFZ1_DBG_FDCAN is not defined in stm32h733xx.h, so the macro does not exist at compile time and calling it gives:

error: implicit declaration of function '__HAL_DBGMCU_FREEZE_FDCAN'

Questions:

  1. Is FDCAN freeze during debug halt supported on STM32H733?
  2. If yes, why is DBGMCU_APB1HFZ1_DBG_FDCAN missing from stm32h733xx.h — is this a bug in the device header?
  3. What is the correct bit position to use as a workaround via direct register write?

 

I need to pause the FDCAN peripheral during debugging, that is my goal.

 

Thanks you very much for helping me out.

 

1 reply

mƎALLEm
ST Technical Moderator
June 10, 2026

 

Hello,

I’m analyzing this. I’ll get back to you.

In fact for STM32H743 (RM0433) I’m seeing, the register has been removed from the RM :

It was available in an old version of RM0433:

while it’s available in the HAL :

stm32h7xx_hal.h:

stm32h743xx.h: 

I will check internally and I’ll get back to you.

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.