Why Use An Embedded RTOS? (2026-09-23 - 2026-09-24)#
Intro#
Interrupt Handling#
Bare metal embedded software: a main loop, and a number of interrupts that bring life to the system
Talk about limitations
Scheduling#
What is The Scheduler?
The advantages of waiting
Discuss task priorities, timeslices, and preemption
Message Queues#
Semaphores#
Show how we can implement custom waiting scenarios
Didactic Toy Application#
Events/Polling#
Introduce waiting for multiple events, and why this is a good thing
Quick example: collapsing two threads into one
Didactic Toy Application, Revisited#
Restructure the toy application around a single-threaded event loop
Miscellaneous#
Room for realtime discussions. Deadlock scenarios; what does it mean that Zephyr mutexes do priority inheritance?
The course uses modern C++ for brevity and clarity. If there is need to, we can diverge and explain as needed.