2025-11-09 10:28 PM
I have configured WWDG Timer in CM7 of Stm32H747I-Disco and configured WW1RSC=0 in RCC global control register (RCC_GCR) for CM7 Reset only instead of system reset.
Issue:
HAL_WWDG_EarlyWakeupCallback is getting called before watchdog Reset. but afrer CM7 Reset, some times it is going to hardfault and not booting again and some times booting properly.
but in both cases, clock configuration of CM4 is disturbed.
main code as follows
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* Configure the system clock */
SystemClock_Config();
/* Configure the peripherals common clocks */
PeriphCommonClock_Config();
MX_GPIO_Init();
MX_TIM7_Init();
// MX_WWDG1_Init();
MX_USART1_UART_Init();
/* USER CODE BEGIN 2 */
if(is_wwdg_reset)
{
printf("After Watchdog Reset\n");
}
else
{
printf("After Reset\n");
}
HAL_GPIO_WritePin(GPIOI,LED1_Pin,GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOI,LED1_Pin,GPIO_PIN_RESET);
HAL_Delay(1000);
MX_WWDG1_Init();
HAL_TIM_Base_Start_IT(&htim7);
2025-11-10 4:40 AM
When WW1RSC = 0 is set, the Watchdog Reset occurs properly and the CM7 core is reset.
However, the peripherals related to Domain D1 are not reset properly.
What is the exact difference between a Domain D1 Reset and a CPU1 (CM7) Reset?
Can we configure the WWDG to trigger a Domain Reset instead of only a CPU1 Reset?
If that is not possible, what configurations need to be re-initialized after a CPU1 Reset to restore normal operation?