Ever since the dawn of HAL, every HAL library I have tried has contained compiler detected errors. My latest frustration source is the STM32L4xx HAL library version 1.6.0. The problems are diverse and include:
- Typo differences in peripheral register bit definitions between the reference manual, the device stm32l4yyxx.h file and the hal peripheral .c file (yy = 76, 86, etc.).
- Missing peripheral register bit definitions in the device stm32lyyxx.h file.
- Hal peripheral .c file with a code segment with no conditional compile referencing a conditionally compiled parameter.
Some of the problems I can fix myself, but I don’t think I should have to. The root problem seems to be incomplete or non-existent library compile and fix before release.
It’s tough to get universal HAL acceptance with stuff like this going on.