Course Outline

Introduction

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

Troubleshooting

Closing Remarks

Requirements

  • Familiarity with embedded systems
  • Basic experience with C programming

Audience

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

Testimonials (1)

Related Courses

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

  21 Hours

Related Categories