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
  • Yeah this confused/confuses me too. I think Keil does provide some code specific to STM products so I think they may be an alternative to HAL*, but more likely an alternative to LL_ or SPL. I found the whole landscape quite daunting and it would be nice to see a document shows some simple project taking each of these solutions in turn. Even a simple Blinky project done in pure CMSIS, then in whatever the Keil pack provides that may be above CMSIS (if there is anything*), then SPL, LL and HAL.

    GB

    * Are the Keil device packs merely the headers for the STM parts or is there some free driver code that they bring? (Not dealing with the paid things like Keil RTOS/USB/etc).

Reply
  • Yeah this confused/confuses me too. I think Keil does provide some code specific to STM products so I think they may be an alternative to HAL*, but more likely an alternative to LL_ or SPL. I found the whole landscape quite daunting and it would be nice to see a document shows some simple project taking each of these solutions in turn. Even a simple Blinky project done in pure CMSIS, then in whatever the Keil pack provides that may be above CMSIS (if there is anything*), then SPL, LL and HAL.

    GB

    * Are the Keil device packs merely the headers for the STM parts or is there some free driver code that they bring? (Not dealing with the paid things like Keil RTOS/USB/etc).

Children
No data