Audience
- Embedded engineers moving from bare-metal or superloop to RTOS
- Junior firmware engineers using FreeRTOS without a full mental model
- Hardware engineers who need to understand the software side of timing
A hands-on intermediate course that takes you from bare-metal thinking to RTOS-native firmware design. Covers task lifecycle, priority inversion, queues, semaphores, mutexes, stack sizing, heap strategies, and the debugging techniques that actually work when things go wrong.
Module 1
Understand the scheduler, task states, context switching overhead, and why a tick-based RTOS behaves differently from bare-metal.
Module 2
Design a priority scheme that keeps high-priority work responsive without starving low-priority tasks or creating inversion.
Module 3
Match each primitive to its correct use case and understand the subtle bugs that come from misuse — including binary semaphore as mutex.
Module 4
Calculate worst-case stack depth, choose the right FreeRTOS heap scheme, and detect overflow before it corrupts memory silently.
Module 5
Implement safe ISR-to-task hand-off, avoid blocking APIs in ISRs, and design deferred interrupt processing with task notification.
Module 6
Use FreeRTOS trace hooks, vTaskGetRunTimeStats, and JTAG to diagnose deadlock, stack overflow, missed deadlines, and runaway tasks.
Ready to continue with this topic? Use the direct enrollment path below.