Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Currently, we use ST’s Standard Peripheral Library (SPL). Goal is to research alternative peripheral libraries and discuss pros/cons of each alternative to see if it’s worth switching.there’s any advantage in switching.

What we currently use SPL for:

  • ADC

  • CAN

  • CRC/RCC

  • FLASH

  • GPIO

  • I2C

  • TIMERS

  • SPI

  • UART

STM32CubeF0

https://github.com/STMicroelectronics/STM32CubeF0

  • STM32Cube is an MCU Package provided by STMicroelectronics. Comes with CubeMX (graphical configuration tool), HAL, and other middleware components.

  • Pros

  • Cons

    todo

    contains a higher hardware abstraction level so it’s possible we would write less of the HAL code ourselves, although not sure how good it is/how well it fits our needs

  • Additional “bloat” compared to the standard peripheral library if the extra HAL features are not necessary

  • Standard peripheral library is deprecated in favour of STM32Cube HAL -> https://community.st.com/s/question/0D50X00009XkYd6/stm32l4-standard-peripheral-libraries

  • Has lower-layer drivers for more flexibility if needed

libopencm3

https://github.com/libopencm3/libopencm3

  • Open-source firmware library for ARM Cortex-M microcontrollers.

  • Pros

    • todo

  • Cons

    todo

    (not from ST)

  • Repo claims that support for STM32F0 boards is “complete”

  • Documentation seems little less clear than ST libraries