Course Outline


Understanding Real-Time Operating Systems (RTOS)

Learning the Concept of Multitasking in Embedded Systems

Overview of the FreeRTOS Kernel

Overview of the STM32 MCU Board

Setting Up the Development Environment

  • Downloading and Installing All Required Software
  • Setting Up the STM32 Firmware and Hardware

Understanding Task Management in RTOS

  • Understanding Stack Memory and Task Stack Size
  • Creating Your First Tasks
  • Using Task Parameters
  • Implementing Task Priorities
  • Exploring Task States
  • Implementing Delays
  • Using the Idle Task Hook
  • Deleting Tasks

Communicating Between Tasks

  • Managing Queues
    • Overview of Queues
    • Using a Queue
  • Managing Interrupts (Semaphores)
    • Overview of Interrupts and Semaphores
    • Writing an Interrupt Handler on FreeRTOS
    • Using Semaphores to Synchronize Tasks with Interrupts
    • Queuing within an Interrupt Service Routine

Managing Resources

  • Using Mutexes
  • Using Binary Semaphores
  • Using Counting Semaphores

Managing Memory and Time

Learning the Internals of FreeRTOS    

  • Debugging and Performance Tools
  • Kernel Internals

Creating a Blinking Board Using FreeRTOS

  • Learning the GPIO pins on STM32
  • Using Tasks to Blink an On-Board LED
  • Turning the LED On/Off Using Queueing
  • Turning the LED On/Off Using Interrupts


Closing Remarks


  • Familiarity with embedded systems
  • Basic experience with C programming


  • Engineers
  • Engineering students
  • Anyone interested in learning FreeRTOS
  • Anyone interested in embedded systems
  7 Hours


Related Courses

ARM Technology

  14 hours

C Programming for Embedded Systems

  21 hours

C++ for Embedded Systems

  21 hours

Embedded Linux Kernel and Driver Development

  14 hours

Introduction to Embedded Computers

  14 hours

Using C++ in Embedded Systems - Applying C++11/C++14

  21 hours

Model Based Development for Embedded Systems

  21 hours

Raspberry Pi

  7 hours

Real Time Operating System

  7 hours

Berkeley DB for Developers

  21 hours

Embedded Systems Security

  21 hours

Object Oriented Programming with C++

  7 hours

PCB Circuit Design with Eagle

  21 hours

PCB Circuit Design with Altium

  21 hours

Raspberry Pi for Beginners

  14 hours