Setting up a C-language multitasking OS kernel for more than 30h during my Polytech Tours, during my S5 tutored project.
The tutored project consists of two parts. The first is to implement the hardware resources of the microcontroller located on the Arduino Uno board and peripheral resources (Leds, push button, etc.) through several software tools. Once the management of these resources is under control, the second part will address the implemention of the multi-tasking kernel as well as the writing of the various processes that will be launched in order to verify that the written kernel is working properly.
I carried out this project using WinAVR, CodeBlocks, IDE Arduino and CodeBlocks for Arduino.