STM32CubeL0 icon indicating copy to clipboard operation
STM32CubeL0 copied to clipboard

Duplicate volatile reads in interrupt handler for adc

Open jrahlf opened this issue 4 years ago • 2 comments

Similar to #17 , there are unnecessary duplicate volatile reads in the interrupt handler for the adc peripheral. __HAL_ADC_GET_FLAG is called several times inside the handler, each time the actual value is fetched due to volatile qualifier.

https://github.com/STMicroelectronics/STM32CubeL0/blob/a7b74aed35ecb7baeadeb16107aa8fddb6823589/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_adc.c#L1692

As in #17, this likely affects all other device variants (F1/F3/F4...) as well. Interestingly, the implementation for the F4 variant actually caches the status register in a local variable, but does so multiple times, which defeats its purpose.

jrahlf avatar Apr 26 '21 22:04 jrahlf

Hi @jrahlf,

Thank you for your contribution. This has been communicated to the development team. We will come back to you as soon as we get their feedback.

Thank you again for your contribution.

With regards,

ASELSTM avatar Jun 09 '21 09:06 ASELSTM

ST Internal Reference: 111909

ALABSTM avatar Nov 09 '21 13:11 ALABSTM

Hello @jrahlf

I hope you are fine.

The issue you reported has been fixed in the frame of version v1.12.2 of the STM32CubeL0 published recently on GitHub.

Thank you again for having reported.

BeST Regards, Rania

RJMSTM avatar Mar 07 '23 16:03 RJMSTM