ARM Operating System

Created in spring 2015 with Kai Marshland. The OS allows for cooperative and preemptive threading using an ARM processor's built in timer interrupts.


Demos

To showcase the project, we developed a series of demos demonstrating the graphical capabilities of a multi-threaded system.


ARM Assembly context switch for preemptive threads.

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.


GitHub

Code and documentation available here

View details ยป