I'm about to start my first STM32 project. (I have previously used atmega MCUs, and have decades of experience with C, mostly server-side.)
There seem to be three choices, given that I want to develop on the command-line in Linux, using make.
- an STM32CubeMX generated makefile project,
- an STM32CubeMX generated makefile project, including FreeRTOS, or
- a makefile project using libopencm3.
The application will process and send messages on 4 or more serial ports, using different protocols. Occasionally GPIOs will be set or cleared.
My questions are:
- Why does libopencm3 exist? Why would someone choose it over an STM32CubeMX-generated makefile project.
- Is learning FreeRTOS worthwhile for such a project?