Atomthreads is a free, lightweight, portable, real-time scheduler for embedded systems.
It is released under the flexible, open source BSD license and is free to use for commercial or educational purposes without restriction.
It is targeted at systems that need only a scheduler and the usual RTOS primitives. No file system, IP stack or device drivers are included, but developers can bolt on their own as required. Atomthreads will always be a small number of C files which are easy to port to any platforms that require threading by adding a simple architecture-specific file.
- OS Features
- Preemptive scheduler with 255 priority levels
- Round-robin at same priority level
- Lightweight: the entire operating system fits into a few C files
- Highly portable ANSI C code not tied to any compiler
- Easy to read, well-documented, doxygen-commented code
- Can be ported to any CPU architecture with a single architecture-specific module
- Automated test suite proves reliable kernel operation
- Free and flexible open source, BSD-licensed code
- Readable code provides a good platform for learning RTOS internals
- For a more complete feature list, see the Features page.
All source is documented using Doxygen. Generated documentation can be found here:
To find out more about the internals of Atomthreads, and to learn how to port it to your target architecture, read the Porting Guide.
Supported CPU Architectures
To prove the lightweight nature of Atomthreads, the first architecture ports released have been small 8-bit architectures. Further ports are in development, including 16-bit and 32-bit architectures.
|CPU Architecture||Compiler Toolchain||Port Documentation|
|STM8/STM8S||Cosmic, IAR, Raisonance|