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 |