Error found in HAL-Driver "stm32h7xx_hal_fdcan.c" Version 1.10.0.0
- January 20, 2022
- 2 replies
- 2856 views
Dear Madame or Sir.
We found some errors in HAL-Driver "stm32h7xx_hal_fdcan.c" Version 1.10.0.0:
for the FDCAN modul of STM32H743.
stm32h7xx_hal_fdcan.c
A call of the function "HAL_FDCAN_DeactivateNotification" and
"HAL_FDCAN_TT_DeactivateNotification"
CAN CLEAR UNWANTED
"Interrupt Line Enable Flag" in the ILE register.
The result is, that NOT DEACTIVATED interrupts are also disabled !
forever, because the
Calling of function "HAL_FDCAN_ActivateNotification"
especially "HAL_FDCAN_TT_ActivateNotification"
DON'T SET again the WRONGLY CLEARED "Interrupt Line Enable Flag"
in the ILE register.
The result is, that NOT DEACTIVATED interrupts are disabled forever !
Workaround example for FDCAN interrupt: TX-COMPLETE interrupt
// Calling of the macro
CLEAR_BIT(hfdcan->Instance->IE, FDCAN_IT_TX_COMPLETE);
// instead of the function "HAL_FDCAN_DeactivateNotification" at the moment.Workaround example for TTCAN interrupt: REGISTER TIMEMARK interrupt
// Calling of the macro
CLEAR_BIT(hfdcan->ttcan->TTIE, FDCAN_TT_IT_REG_TIME_MARK);
// instead of the function "HAL_FDCAN_TT_DeactivateNotification" at the moment.Please find the details in the attachment.
Best regards
Christian