uOS Operating System for Embedded Applications
uOS is a portable well-scalable operating system for embedded real-time systems. uOS is free software (GPL with extension) and intended for commercial applications.
Project files could be downloaded from here (page in Russian, sorry).
Documentation is located here (in Russian).
Key features of uOS
- Excellent hardware scalability: from 8-bit microcontrollers with 16 kilobytes ROM and 2 kilobytes RAM to weighty 32-bit microprocessors.
- Low footprint and performance overhead: core runtime module requires only 2 kilobytes ROM and 200 bytes RAM.
- Modular approach: set of involved modules (drivers, memory manager, network stacks) can be extended according to the specific field of application.
- Nice portability. One of the latest job performed - porting to MIPS32 platform - took 1 man/month.
- Atmel AVR.
- ARM: Atmel AT91SAM7 and AT91SAM9, Samsung S3C4530A, Milandr 1986BE91. ARM, Thumb and Thumb2 modes.
- MIPS32: Microchip PIC32, Elvees MC-24.
- Texas Instruments MSP430.
- Intel i386: PC-compatible computers with PCI bus and VESA video. Grub 0.97 is used.
- Linux386: virtual machine, with TCP/IP support. Useful for debugging of platform-independent part of system being developed: data processing algorithms, memory management, networking protocols.
- Preemptive multitasking
- Practically no limitation for number of tasks and priorities
- Unified synchronization object "mutex", extended with message passing functionality
- Hardware interrupts implemented as messages
- Opportunity of using "fast" interrupt handling, without involving synchronization objects
- Priority inheritance
- Simplicity and extendability due to modular architecture
- Stack overflow detection
- Ready to use TCP/IP stack including Telnet and NNTP
- SNMP module for application as embedded agent
- Built-in Embedded TCL interpreter for applications requiring command line prompt
- Free development tools (GCC) incliding MS Windows platform
- Set of samples for every supported architecture