This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Relationship between STM32 HAL and Keil CMSIS-Drivers

Please help me understand the relationship / layering between STM32 HAL drivers and Keil drivers.

  1. Is it fair to say that STM32 HAL drivers are layered above CMSIS-CORE?
  2. Is it fair to say that Keil drivers are CMSIS compliant (CMSIS-Drivers), also layered above CMSIS-CORE?
  3. Are these two sets of drivers equivalent (functionality / scope)?

Keil DFP seems to include STM32 HAL drivers. But they also provide their own drivers, which I assume are CMSIS-Drivers.

  1. Does that mean that you have two flavors of drivers available to you - STM32 HAL drivers and Keil CMSIS-Drivers?
  2. What is the layering for the Keil drivers? Are they layered on top of STM32 HAL at all? Or is CMSIS-CORE their only dependency?

Thanks for your help!

Parents
  • 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.

Reply
  • 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.

Children