We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Please help me understand the relationship / layering between STM32 HAL drivers and Keil drivers.
Keil DFP seems to include STM32 HAL drivers. But they also provide their own drivers, which I assume are CMSIS-Drivers.
Thanks for your help!
Hi ziffusion,
in short:
HAL drivers are provided by STMicroelectronics for their devices/peripherals and use STMicroelectronics defined specification (API).
CMSIS drivers comply to the CMSIS-Driver specification (API).CMSIS drivers can use either HAL drivers or direct register accesses, or a combination of both, depending on the device series.
Both of these drivers, HAL and CMSIS drivers, can use CMSIS-Core functionality.
And in general they are similar in functionality / features aspects.
Just to add one obvious difference I forgot to mention:
HAL drivers are STMicroelectronics specific whereas CMSIS drivers are generic.
Meaning HAL drivers are only available for STMicroelectronics devices whereas CMSIS drivers are available for multiple devices and vendors.