Overview of RTIC (Real-Time Interrupt-driven Concurrency)
masterRTIC is a concurrency framework designed for building real-time systems. It is also known as 'Real-Time For the Masses'. It provides a highly efficient, deadlock-free environment for embedded systems, specifically targeting Cortex-M devices, though it is a general concurrency framework.
Key features include:
- Tasks: The unit of concurrency. Tasks can be event-driven (triggered by asynchronous events) or software-triggered.
- Message Passing: Allows passing messages between tasks, specifically at the moment of task invocation.
- Timer Queue: Enables scheduling tasks to run at a specific point in the future, useful for periodic tasks.
- Preemptive Multitasking: Supported via task priorities.
- Resource Sharing: Efficient, race-condition-free resource sharing using priority-based critical sections.
- Deadlock-free Execution: Guaranteed at compile time, providing stronger guarantees than a standard
Mutex. - Minimal Overhead: Task dispatching is primarily handled by hardware, resulting in a minimal software footprint.
- Memory Efficiency: All tasks share a single call stack, and there is no heavy dependency on a dynamic allocator.