scmRTOS is a free tiny preemptive Real-Time Operating System intended for use
with Single-Chip Microcontrollers.
scmRTOS is capable to run on small uCs with as little amount of RAM as 512 bytes.
The RTOS is written on C++. All source code is available. Five target platforms
are supported for now:
- MSP430 (Texas Instruments);
- AVR (Atmel);
- Blackfin (Analog Devices);
- ARM7;
- FR (Fujitsu).
- Preemptive multitasking.
- Up to 31 user processes (tasks).
- Fast interprocess program control flow transfer:
- MSP430: 45-50 us @5MHz.
- AVR: 38-42 us @8MHz.
- Blackfin: 1.5 us @200 MHz.
- ARM7: 5us @50 MHz (ARM mode), 8 us @50 MHz (Thumb mode).
- FR: 10 us @32MHz.
- Low Resource Requirements:
- Code: from about 1 kilobyte (depend on application and target platform).
- Kernel Data: 8 + 2*Process Count.
- Process Data: 5 bytes.
- Supports separate return stack (required for IAR EW AVR).
- Two methods of program control flow passing:
- Direct context switcher call.
- Software Interrupt context switch.
- Interprocess communication:
- Fast Event Flags (binary semaphores).
- Mutual Exclusion Semaphores (Mutexes).
- Byte-wide Channels (queues of "raw" data).
- Arbitrary-type Channels (queues of arbitrary-type objects).
- Messages.
- Optional software switch on separate ISR stack on some platforms.
- Support of various target hardware features such as hardware shifters etc., for more efficiency.
See User's Manual and other documentation for more details.