STM32 MOOCs (Massive Open Online Courses)

FreeRTOS on STM32 v2

FreeRTOS on STM32 v2 MOOC

FreeRTOS on STM32 v2

Learn how to use CMSIS_OS v2.x based on FreeRTOS operating system in your application


Intention of this training is to introduce main features, components, configuration options API functions of CMSIS_OS v2.x with usage of FreeRTOS operating system with usage of STM32 dedicated tools and HW.

Who should attend this course?

  • Engineers looking to better understand FreeRTOS and CMSIS_OS v2.x and its usage with STM32 MCUs on real examples
  • Engineers looking for practical knowledge concerning implementation of FreeRTOS using CMSIS_OS v2.x with other STM32 ecosystem components (HAL library, STM32CubeIDE usage for code generation)

Benefits you will take away

  • You will improve your knowledge of FreeRTOS and its main features
  • You will improve your practical skills related to CMSIS_OS v2.x based application development using FreeRTOS as a base operating system

On line course concept

  • Course is provided in MOOC format with course material available online
  • This course takes approximately 10 hours to complete, depending on your proficiency

Course outline

  • Preparation to the session
  • Operating system – what it is ?
  • FreeRTOS – basic features
  • CMSIS_OS v2.x API vs FreeRTOS API
  • FreeRTOS configuration
  • FreeRTOS memory allocation schemes
  • FreeRTOS memory management hints
  • FreeRTOS scheduler
  • FreeRTOS and hardware IRQs
  • FreeRTOS startup step by step
  • Context switching in details
  • Operating system components:
    • Tasks
    • Queues
    • Semaphores
    • Event Flags
    • Thread Flags
    • Resources management
    • Mutexes
    • Software timers
  • Advanced topics (hooks)
  • Low Power Support (tickles mode)
  • Troubleshooting and typical mistakes
  • Summary

Training materials

Training materials (slides, hands-on projects) can be downloaded from this link


  • Hardware requirements:
    • PC with preinstalled software (software requirements)
    • NUCLEO-L476RG board
    • mini USB cable
    • [optionally] X-NUCLEO-LPM01A (low power support session)
    • [optionally] micro USB cable (low power support session)
  • Software requirements:
    • STM32CubeIDE (v1.4.0 or more recent one) with installed:
    • STM32L4 Cube library v1.15 or more recent one
    • [optionally] STM32CubeMonitorPower (low power support session)