Course Outline
Introduction
Insights into Real-Time Operating Systems (RTOS)
The Concept of Multitasking in Embedded Systems
Key Features of the FreeRTOS Kernel
Introduction to the STM32 MCU Board
Establishing the Development Environment
- Acquiring and installing necessary software
- Configuring STM32 firmware and hardware
Task Management within RTOS
- Stack Memory and Task Stack Size Explained
- Developing Initial Tasks
- Utilizing Task Parameters
- Assigning Task Priorities
- Analyzing Task States
- Incorporating Delays
- Applying the Idle Task Hook
- Terminating Tasks
Inter-Task Communication
- Queue Management
- Queue Fundamentals
- Implementing Queues
- Interrupt Management (Semaphores)
- Basics of Interrupts and Semaphores
- Developing Interrupt Handlers in FreeRTOS
- Synchronizing Tasks and Interrupts via Semaphores
- Queuing inside Interrupt Service Routines
Resource Management
- Applying Mutexes
- Using Binary Semaphores
- Utilizing Counting Semaphores
Memory and Time Management
Exploring FreeRTOS Internals
- Debugging and Performance Analysis Tools
- Deep Dive into Kernel Mechanics
Building a Blinking Board with FreeRTOS
- Examining GPIO Pins on STM32
- Controlling an On-Board LED via Tasks
- Switching LED State Using Queues
- Switching LED State Using Interrupts
Resolving Common Issues
Conclusion
Requirements
- Knowledge of embedded systems
- Fundamental proficiency in C programming
Target Audience
- Software engineers
- Engineering students
- Individuals seeking 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.