Port of FreeRTOS to libopencm3 STM32F103
is a popular open source real time operating system for
microcontrollers that has been ported for use with a very large number
of devices and development systems. This miniproject adapts the
CORTEX_STM32F103_Primer_GCC demo to the libopencm3 environment used in
many of the ARM projects on this site.
The only significant change to make is to redirect the sv, pendsv and systick libopencm3 interrupt handlers to those used by FreeRTOS:
The Makefile must include the GCC/ARM_CM3 directory to incorporate appropriate code for the various handlers, systick, interrupts and other needed functionality common to this class of microcontroller. This code is common to ARM Cortex M3 devices.
Other than making use of libopencm3 for initialising and using hardware resources, code should then be transportable between devices.
FreeRTOS has been used in the power management project on STM32F103.