Exception handling
AN4989
58/118
AN4989 Rev 3
6.2 Custom
Handlers
One way to generate templates of Handler functions is to use STM32CubeMX.
In
Configuration -> NVIC Configuration -> Code Generation
, use Generate IRQ handler
tick boxes as shown in
.
Figure 38. Asking for Handler code generation
When Non maskable interrupt and Hard fault interrupt are selected, the following code is
generated:
void NMI_Handler(void)
{
/* USER CODE BEGIN NonMaskableInt_IRQn 0 */
/* USER CODE END NonMaskableInt_IRQn 0 */
/* USER CODE BEGIN NonMaskableInt_IRQn 1 */
/* USER CODE END NonMaskableInt_IRQn 1 */
}
/**
* @brief This function handles Hard fault interrupt.
*/
void HardFault_Handler(void)
{
/* USER CODE BEGIN HardFault_IRQn 0 */
/* USER CODE END HardFault_IRQn 0 */
while (1)
{
}
/* USER CODE BEGIN HardFault_IRQn 1 */
/* USER CODE END HardFault_IRQn 1 */
}
This simple declaration overriding the default weak function,removes ambiguity and clarifies
the call stack.