Created in spring 2015 with Kai Marshland. The OS allows for cooperative and preemptive threading using an ARM processor's built in timer interrupts.
To showcase the project, we developed a series of demos demonstrating the graphical capabilities of a multi-threaded system.
For preemptive threads, a context switch is triggered by a timer interrupt. All register and stack data is stored and then restored from another thread. Interrupts could also be triggered via a GPIO interrupt, such as with a button.