Course Outline
Introduction
Comprehending Real-Time Operating Systems (RTOS)
Grasping Multitasking Concepts in Embedded Systems
Introduction to the FreeRTOS Kernel
Overview of the STM32 MCU Board
Configuring the Development Environment
- Downloading and installing essential software
- Setting up STM32 firmware and hardware
Task Management in RTOS
- Understanding stack memory and task stack size
- Creating initial tasks
- Utilizing task parameters
- Implementing task priorities
- Examining task states
- Implementing delays
- Using the idle task hook
- Deleting tasks
Inter-Task Communication
- Queue Management
- Queue overview
- Using queues
- Interrupt Management (Semaphores)
- Overview of interrupts and semaphores
- Writing an interrupt handler for FreeRTOS
- Synchronizing tasks with interrupts using semaphores
- Queuing within an interrupt service routine
Resource Management
- Utilizing mutexes
- Applying binary semaphores
- Using counting semaphores
Memory and Time Management
Exploring FreeRTOS Internals
- Debugging and performance tools
- Kernel internals
Building a Blinking Board with FreeRTOS
- Learning STM32 GPIO pins
- Blinking an on-board LED using tasks
- Controlling LED state using queueing
- Controlling LED state using interrupts
Troubleshooting
Conclusion
Requirements
- Familiarity with embedded systems
- Foundational experience in C programming
Target Audience
- Engineers
- Engineering students
- Individuals seeking to learn FreeRTOS
- Those 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.