The CyanRTOS Project

Project summary

CyanRTOS is an realtime operating system intended for control and compute intensive applications. It was originally developed as one of my spare time projects in 2013, on a X86 machine. It was then ported to Blackfin DSPs in 2015.

CyanRTOS has a preemptive, priority based scheduler. It supports unlimited tasks, 255 priorities. When two or more tasks share the same priority, they are RR scheduled. Rescheduling will happen if one of the following circumstances are met:

It supports as many as 255 nesting interrupts. Recheduling will not happen until the nesting level return to zero.

These conditions are true for both user space program and interrupt routines. This means that after an interrupt occured, the scheduler also checks if rescheduling is necessary.

Current status

The project is being actively updated. I'm currently working on porting it to other Blackfin/Blackfin+ DSPs. ADSP-BF707 is the next DSP on my list.


The code is released under BSD license, available on Bitbucket

© 2013 - 2017 Yuchong Li