HuskEOS
HuskEOS is a real-time operating system (RTOS) designed for embedded systems. It offers a priority-based preemptive scheduler and boasts impressive performance metrics, such as achieving 50,000 context switches per second on a Cortex-M4 configured at 16MHz.
Features
- Priority-based Preemptive Scheduler: Efficiently schedules tasks based on their priority.
- Performance: Achieves 50,000 context switches per second on Cortex-M4 at 16MHz.
- Memory Management: Memory footprint can be as low as 550 bytes. All memory is statically allocated, eliminating the need for a heap.
- Hardware Agnostic: The entire OS is hardware-independent except for an internal OS/CPU interface layer, allowing for portability across different platforms.
- Consistent API: Public modules have consistent API structures and naming conventions.
- Stack Overflow Detection: Supports stack overflow detection for each task with configurable fault handlers.
- Debugging Support: Collects runtime data for debugging, which can be turned off for reduced overhead.
Components
- Scheduler: Handles task scheduling and state management.
- Flags: Provides event flag objects for task synchronization.
- Mailbox: Allows tasks to pass single pieces of data between them.
- Memory: Emulates dynamic memory allocation with block allocation and overflow/underflow detection.
- Semaphore: Designed for counting and signaling. For mutual exclusion, Mutex is used.
- Mutex: Mutual exclusion semaphore with priority inheritance to prevent priority inversion.
- Queue: Offers fully configurable FIFO message queues.
Website: https://github.com/gscultho/HuskEOS
Source code: https://github.com/gscultho/HuskEOS
License: MIT license
HuskEOS Platforms
- ARM
HuskEOS Components
- None