SMX is a no-royalty modular RTOS for embedded systems. SMX RTOS modules are integrated and shipped working together on specified ST evaluation boards, or offered for use on other RTOSes or standalone.
smx is an advanced RTOS kernel, which offers unique features to speed application development and to make debugging easier. It packs rich functionality into a relatively small size and it offers high performance and safety. smx has been toughened by over 30 years of use in hundreds of embedded applications. It features preemptive scheduling and a full, robust API.
- Secure partitioning using Memory Protection Unit. New, advanced approach under development.
- LSRs for low interrupt latency. Interrupts remain enabled in system services.
- Heap: Fast, bin-type, extensive customization/tuning. Hybrid of heap and block pool. Self-healing.
- Stack sharing: system calls can stop task while waiting and release stack for others use.
- System stack for ISRs, LSRs, and error handling to reduce task stack size.
- Mutexes with priority promotion and ceiling, priority propagation, staggered priority demotion, and nesting.
- Semaphores: 6 types including multiple event, multiple resource, and gate.
- Event groups support combination AND/OR expressions of flags
- Safe messaging and priority passing
- No copy block I/O
- Hooked exit/entry routines to save additional user-specified context
- Flexible timers
- Precise profiling and time measurement
- Error manager
- Event logging and various debug aids
- Well-written user and reference manuals
- BSP to run kernel and middleware on selected processor
- smxAware debugger plugin with textual and graphical displays. Live version available for monitoring systems in the field.
- File Systems: FAT, FFS, Logger
- Networking: TCP/IPv4 and v6
- USB Host, Device, OTG
- WiFi 802.11
- Floating Point Library
- Heap Manager