[Back] [Impressum, Datenschutz]
rupsched is a small operating system for 8-bit AVR microrontrollers. It uses the Linux kernel build system and Kconfig, and the rest is also very Linux-like. It features a scheduler, timers and rolls its own interrupt support. All components are optional, even the scheduler.
Directory structure, names of header files, functions and macros, as well as coding style are oriented on the Linux kernel, whoever is used to hack the Linux kernel will feel at home in rupsched.
I managed the configuration of first my AVR projects with the Linux kernel's menuconfig, but for a very long time I only used a binary of menuconfig. I managed my projects in a single SVN repository and so it slowly grew infrastructure which supports the programming model used in the Linux kernel.
One of the first things I implemented was the scheduler and that's where the name comes from.
During the build, all format strings are examined and only the used flags will be implemented in vdevprintf, leading to a very small footprint most of the time.
rupsched contains a parser for atpack files, theoretically supporting all ATMega devices, but currently only a few models are used at the moment. To add your own device, change the DEVICES variable in arch/avr/scripts/decode_packs, and remove arch/avr/devs to force a rebuild.
To build rupsched, a Linux environment is required, with the following packages installed:
It should also be possible to compile using Cygwin on Windows, however I never tested that.
Most of this work is licensed GPL v2, however some files have a different license.
To get the latest version of rupsched, clone the git repository:
git clone http://www.rupert-eibauer.de/rupsched.git rupsched