Mastering RTOS: Hands on FreeRTOS and STM32Fx with Debugging

Mastering RTOS: Hands on FreeRTOS and STM32Fx with Debugging

image description

What you will learn

  • Understanding various RTOS concepts with FreeRTOS Programming and Debugging
  • Learn Complete Step by step method to run FreeRTOS on STM32 MCUs using OpenSTM32 System Workbench
  • Using STM32 Standard Peripheral Driver APIs to configure peripherals
  • FreeRTOS Task Creation , Deletion, Scheduling using with code examples
  • Important scheduling policies of FreeRTOS Scheduler
  • FreeRTOS Stack and Heap Management
  • Right ways of Synchronizing between tasks using Semaphores.
  • Right ways of Synchronizing between a task and an interrupt using semaphores
  • Synchronization between multiple events and a task
  • FreeRTOS Queue management like creation, sending, receiving, blocking, etc
  • Implementing mutual exclusion between Tasks using Mutex services and semaphores
  • Understanding Context Switching with in detail code explanation
  • Understanding Architecture specific codes like SVC_handler, PendSV_handler, SysTick Handler line by line
  • You will learn about kernel Tick timer, its importance, the kernel tick frequency and its configuration details.
  • Understanding complete ARM Cortex M and FreeRTOS Priority model and its configuration related informations
  • FreeRTOS Debugging using SEGGER SystemView Software
  • Lots of articles which explains line by line the ARM Cortex M related FreeRTOS architecture specific codes
  • Low power instructions use case in FreeRTOS scenario
  • Lots of coding exercises
  • Debugging with SEGGER software toolkit by taking snapshot and continuous mode recording


Section 1: Overview of the course

Section 2: RTOS Introduction

Section 3: Development board used in our courses

Section 4: IDE install (OpenSTM32 System Workbench)

Section 5: Downloading and Installing FreeRTOS

Section 6: Creating FreeRTOS based project for STM32 MCUs

Section 7: FreeRTOS Task Creation

Section 8: FreeRTOS Hello World App and Testing on hardware

Section 9: Semi hosting and UART setup

Section 10: FreeRTOS app debugging using SEGGER SystemView Tools

Section 11: IDLE Task and Timer Svc Task of FreerRTOS

Section 12: FreeRTOS Scheduler

Section 13: FreeRTOS and ARM Cortex Mx Arch. Specific details

Section 14: Context switching

Section 15: Exercise : Button and LED Task and Interrupt Coding

Section 16: FreeRTOS Task Notification

Section 17: FreeRTOS Licensing model and API interface

Section 18: Overview of FreeRTOS Memory manage, STACK and Synchronization services

Section 19: FreeRTOS Kernel Coding Style

Section 20: FreeRTOS Task Deletion

Section 21: ARM Cortex M Interrupt Priority and FreeRTOS Task Priority

Section 22: Interrupt safe APIs and Task yielding

Section 23: FreeRTOS Task States

Section 24: FreeRTOS : Importance of Delay APIs

Section 25: FreeRTOS Hook Functions

Section 26: FreeRTOS Scheduling Policies

Section 27: FreeRTOS Queue Management

Section 28: Semaphore for Synchronization, mutual exclusion and Interrupt Management

Section 29: Mutual exclusion

Course Description

Learn Running/Porting FreeRTOS Real Time Operating System on STM32F4x and ARM cortex M based Microcontrollers


  • Basic knowledge of C and Micro controller could be added advantage but not mandatory


>> The Complete FreeRTOS Course with Programming and Debugging <<

Latest update: RTOS debugging using SEGGER SystemView Trace tools, STM32 STD. Peripheral APIs and More examples are added.

Subtitles(CCs) and transcripts are available for this course.

Dedicated Support team to answer Q/A

The course is designed for Beginners to Advanced audience.

Short Description:

"The Biggest objective of this course is to demystifying RTOS practically using FreeRTOS and STM32 MCUs"

STEP-by-STEP guide to port/run FreeRTOS using development setup which includes,

1) Eclipse + STM32F4xx + FreeRTOS + SEGGER SystemView

2) FreeRTOS+Simulator (For windows)

Demystifying the complete Architecture (ARM Cortex M) related code of FreeRTOS which will massively help you to put this kernel on any target hardware of your choice.

Development board used in this course:

If you already have an STM32 Based development board, then please continue using the same. The course uses STM32F446RE MCU based NUCLEO-F446RE board.

Software used in this course:

1) OpenSTM32 System Workbench which can run on all OS platforms(WIN/OSX/LINUX) (free)

2) SEGGER Systemview software free edition

FreeRTOS+ Simulator

Don't have any hardware? You can still try some of the Source code of this course using the FreeRTOS simulator for windows.

In this course, I have documented all the steps required to run freeRTOS in Simulator mode, so you can set up on your PC in no time. All you need is just PC and Eclipse software. That's it!

Operating system information


Debugging FreeRTOS with SEGGER SYSVIEW software

In this course debugging freeRTOS with SEGGER Systemview software is covered with STEP-BY-STEP guidance. please watch the preview videos.

Embedded Debugging and Quizzes

Debugging embedded code is really interesting and learning various debugging techniques and features are very much essential to have a good grip on embedded debugging.

Also, the course consists of various interview questions which will test your knowledge gained !.

My promise!

I will personally answer your questions about this material, either privately or in a group discussion. If you are in any way not satisfied, for any reason, you can get, No questions asked a full refund from Udemy within 30 days. But I am confident you won't need to. I stand behind this course 100% and am committed to helping you.


Real Time Operating System,RTOS, ARM Cortex M, FreeRTOS, STM32, STM32 Discovery,SEGGER

Who this course is for:

  • Professionals interested in exploring Embedded systems
  • Hobbyists and students who want to start their career in Embedded world
  • RTOS Beginners and Intermediate students
  • If you think about 'embedded' then think about taking this course. you will not be disappointed