https://nathanflore.medium.com/getting-started-with-embedded-c-11-real-time-operating-systems-rtos-bd0f5e162b6c