7 hours (usually 1 day including breaks)
- Familiarity with embedded systems
- Basic experience with C programming
- Engineering students
- Anyone interested in learning FreeRTOS
- Anyone interested in embedded systems
FreeRTOS is a cross platform real-time operating system (RTOS) kernel for embedded devices such as microcontrollers and small microprocessors.
In this instructor-led, live training, participants will learn how to code using FreeRTOS as they step through the development of a simple RTOS project using a microcontroller.
By the end of this training, participants will be able to:
- Understand the basic concepts of real-time operating systems.
- Learn the environment of FreeRTOS.
- Learn how to code with FreeRTOS.
- Interface a FreeRTOS application to hardware peripherals.
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
- Participants are expected to provide their own hardware for this course (any STM32 board).
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
- 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
I genuinely enjoyed the trainer knowledge.
Aaron Swift - ITW Hobart
I genuinely enjoyed the personalized.
The trainer knew free rtos and was ope to answer our questions.
Practical examples using STM systems and interesting subtleties in the CORTEX range
Grzegorz Warchoł - SOPEM sp z o.o