Versions Compared

Key

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

https://docs.google.com/presentation/d/1GBKhvooHekeQAZUffZCEgtkG0PnbZE7nlBzlzZkEJ3w/edit?usp=sharing

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 switchingthere’s any advantage in switching.

We currently use SPL for ADC, GPIO, I2C, and many others. Other peripheral libraries should also support all the general peripherals we need.

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

  • Generally well liked by community ?? (reddit, stackexchange)