Ground Embedded KO Subscribe

Roadmap / Firmware

RTOS

When the workload grows, one endless loop cannot cope. A real-time operating system is the answer.

Goal Split work into tasks and run them without synchronization bugs.

  • IntermediateLevel
  • about 4 weeksat one hour a day
  • 8topics
  • 4labs
  1. 01
    Limits of the super loop

    The delay and complexity of doing everything in one loop.

    Read the note →

  2. 02
    Tasks and the scheduler3D lab

    Splitting work into tasks, and how the scheduler shares time.

    Read the note →

  3. 03
    Priority and preemption3D lab

    Urgent tasks pushing less urgent ones aside.

    Read the note →

  4. 04
    Semaphores and mutexes3D lab

    Keeping two tasks from touching a shared resource at once.

    Read the note →

  5. 05
    Queues and event groups

    Passing data and signals between tasks safely.

    Read the note →

  6. 06
    Priority inversion3D lab

    A low task blocking a high one, and priority inheritance.

    Read the note →

  7. 07
    Memory and stack management

    Sizing each task's stack and detecting overflow.

    Read the note →

  8. 08
    FreeRTOS in practice

    Sensor reading, communication and control as tasks on an STM32.

    Read the note →

CHECK TASK

Build a sensor logger from three tasks

Split sensor reading, communication and LED display into tasks and connect them with a queue and a mutex.

If you can tick all three, move on to the next subject. Ticks are saved in this browser only.