RTOS Application Development
When a super-loop can no longer meet timing, an RTOS gives you tasks, priorities, and queues — and a new class of bugs (priority inversion, stack overflow, blocking in the wrong place). This subject is implementing a small FreeRTOS-style application with at least two tasks and a safe way to share data, tied to the constraints you analysed earlier.
Starting Points
Key Points
- You split firmware into tasks with clear responsibilities and priorities justified by deadlines.
- You share data with queues, notifications, or mutexes — not unsynchronised globals from an ISR.
- You size stacks conservatively and check for overflow using the RTOS or debugger facilities.
- You keep ISRs short and defer work to a task.
- You demonstrate a timing or blocking bug you found and how the RTOS design fixed or avoided it.