WUT?
This is a BuguRTOS project.
The name BuguRTOS comes from Butthurt, Frugurt and RTOS.
BuguRTOS is small portable OS kernel for microcontrollers.
It is capable to work in hard/soft real time systems.
It is free and open source software, but you can use it for
proprietary software development.
Main features
- Small. BuguRTOS can run on small 8bit microcontrollers.
- Portable. The kernel is designed to be easily portable to new platforms.
- SMP-ready by design. The kernel was designed for SMP MCUs from the very begining. Although there were no SMP MCUs available at the end of 2010.
- No memory management in kernel.
- Smaller process stack size required as kernel runs in separate thread with its own stack.
- The kernel is almost fully preemptive. Only small chunks of code can't be preempted by interrupts.
- Interrupt virtualization. Virtual interrupts are run cooperatively in kernel threads. By default, they can be preempted by other virtual interrupts in preemption points.
- Customizable system call interface. One may comment out unneeded system calls, add custom system calls or rewrite system call table completely.
Licensing
- BuguRTOS is licensed under GPLv3 with linking exception, see exception.txt
- STM8/SDCC tests are licensed under GPLv3 without exceptions as libstm8 is used!
Get it!
- Old releases are on Gdrive!.
- Since May 12th 2015 new releases are placed here.
Current status
Get started
Getting started guide is here.
Todo
- Write libs for 4.x.y branch.
- Write more ports.
- Fix bugs.
- ??????
- PROFIT!!!
News
- October 31st 2021 BuguRTOS updated version 4.1.0 is out, see Changelog for details!
- January 7th 2019: BuguRTOS updated version 4.0.0 is out, see Changelog for details!
- March 13th 2017: BuguRTOS updated version 3.0.0 is out, see Changelog for details!
- August 31th 2016: BuguRTOS updated version 2.0.0 is out, see Changelog for details!
- April 26th 2016: BuguRTOS updated version 1.0.0 is out, see Changelog, semantic versioning is used now!
- January 6th 2016: BuguRTOS updated version 0.9.9 is out, see Changelog!
- July 3rd 2015: BuguRTOS updated versions 0.6.6, 0.7.3, 0.8.4 are out, are out, see Changelog!
- May 12th 2015: BuguRTOS-0.8.3 is out, see Changelog! Added more argument checks, fixed several issues, ported tests to libopencm3.
- May 12th 2015: Added third party code to project repository.
- April 25th 2015: BuguRTOS-0.8.2 is out, see Changelog! Added basic timeout support and fifo scheduling policy support, fixed some bugs.
- April 25th 2015: BuguRTOS moved to GitHub.
- March 13th 2015: BuguRTOS updated versions 0.6.5, 0.7.2, 0.8.1 are out, see Changelog! Three bugs fixed, significant changes made in 0.8.x branch.
- January 24th 2015: BuguRTOS-0.8.0 is out, see Changelog! Actually It's not just a new version, but a New branch. I will focus on it for a while. Working on this new branch I found and fixed some bugs in priority inheritance protocol of 0.7.x branch. Branches 0.6.x and 0.7.x will have only new ports and bug fixes.
- BuguRTOS-0.7.1 is out, see Changelog, BuguRTOS-0.8.0 is on the way!