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
Testimonials (7)
The most engaging part was definitely the practical section - specifically, the opportunity to actually program and flash firmware onto a physical device. From the lectures, I enjoyed the section on thread creation and synchronization mechanisms (tasks, timers, queues, etc.) the most; these were crucial topics and were presented very well.
Grzegorz - Intel Technology Poland sp. z o.o.
Course - FreeRTOS: Programming for Real Time Operating Systems
Machine Translated
All-encompassing trainer's knowledge from various platforms, operating systems, and eras. Excellent selection of environment, hardware, and examples tailored to the topic—automating project preparation minimized the time required, allowing focus on the core content.
Patryk - Intel Technology Poland sp. z o.o.
Course - FreeRTOS: Programming for Real Time Operating Systems
Machine Translated
System Software FreeRTOS and Expansion of AKO Topics
Mateusz - Intel Technology Poland sp. z o.o.
Course - FreeRTOS: Programming for Real Time Operating Systems
Machine Translated
What I liked the most is to have covered the whole structure of FREERTOS and to know how to use the different tools provided by this type of programming for my own projects.
Jaime - Cetem
Course - FreeRTOS: Programming for Real Time Operating Systems
The practical part of the course
Sergio - Cetem
Course - FreeRTOS: Programming for Real Time Operating Systems
I really liked that Grzegorz was a real professional, a person who knew what he was talking about. You could feel that he has had mastered his subject and was willing to hand this knowledge over to you. The knowledge discussed during theoretical part was really important and presented in understandable way.
Piotr - Kongsberg
Course - FreeRTOS: Programming for Real Time Operating Systems
The training was very well organized. The trainer had the knowledge and experience on the subject. We had plenty of exercises to be able tp understand what was discussed during the lectures. The trainer had the patience when there were issues and answered all the questions.