Course Outline
Introduction
Exploring Real-Time Operating Systems (RTOS)
Grasping the Concept of Multitasking in Embedded Systems
An Overview of the FreeRTOS Kernel
Introduction to the STM32 MCU Board
Configuring the Development Environment
- Acquiring and Installing All Necessary Software
- Preparing the STM32 Firmware and Hardware Setup
Comprehending Task Management in RTOS
- Understanding Stack Memory and Task Stack Sizing
- Developing Your Initial Tasks
- Utilizing Task Parameters
- Establishing Task Priorities
- Examining Task States
- Incorporating Delays
- Applying the Idle Task Hook
- Removing Tasks
Facilitating Communication Between Tasks
- Queue Management
- Introduction to Queues
- Operating a Queue
- Interrupt and Semaphore Management
- Introduction to Interrupts and Semaphores
- Developing an Interrupt Handler in FreeRTOS
- Synchronizing Tasks with Interrupts Using Semaphores
- Queuing Data Within an Interrupt Service Routine
Resource Management
- Applying Mutexes
- Utilizing Binary Semaphores
- Implementing Counting Semaphores
Managing Memory and Time
Delving into FreeRTOS Internals
- Debugging and Performance Analysis Tools
- Kernel Architecture Details
Building a Blinking Board Project with FreeRTOS
- Studying STM32 GPIO Pins
- Creating Tasks to Toggle the On-Board LED
- Controlling the LED On/Off via Queuing
- Controlling the LED On/Off via Interrupts
Diagnosing and Resolving Issues
Final Thoughts
Requirements
- Knowledge of embedded systems
- Fundamental proficiency in C programming
Target Audience
- Engineers
- Engineering students
- Individuals eager to learn FreeRTOS
- Professionals interested in embedded systems
Testimonials (7)
Being able to ask for advanced subjects even if there were not planned initially.
Gabriel Chouinard - Spark Microsystems
Course - FreeRTOS: Programming for Real Time Operating Systems
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.
Alexandru - Siemens
Course - FreeRTOS: Programming for Real Time Operating Systems
The trainer was very knowledgeable and live code examples on a "real" hardware device with a display were great.
Silver Kuusik - Engie Mobisol GmbH
Course - FreeRTOS: Programming for Real Time Operating Systems
I liked the fact that the training was more induced as prepared chaos. this means that the training took a structured life of its' own, but had ample room for learning and mistake making.