Course Outline
Introduction
Comprehending Real-Time Operating Systems (RTOS)
Grasping Multitasking Concepts in Embedded Systems
Overview of the FreeRTOS Kernel
Introduction to the STM32 MCU Board
Configuring the Development Environment
- Download and installation of necessary software
- Setup of 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
- Removing Tasks
Inter-Task Communication
- Queue Management
- Queue Fundamentals
- Utilizing Queues
- Interrupt and Semaphore Management
- Overview of Interrupts and Semaphores
- Developing Interrupt Handlers in FreeRTOS
- Synchronizing Tasks and Interrupts via Semaphores
- Queuing within Interrupt Service Routines
Resource Management
- Utilizing Mutexes
- Employing Binary Semaphores
- Using Counting Semaphores
Memory and Time Management
Exploring FreeRTOS Internals
- Debugging and Performance Analysis Tools
- Kernel Internals
Developing a Blinking Board Project with FreeRTOS
- Understanding STM32 GPIO pins
- Blinking the On-Board LED using Tasks
- Controlling LED On/Off States via Queueing
- Controlling LED On/Off States via Interrupts
Troubleshooting
Conclusion
Requirements
- Knowledge of embedded systems
- Fundamental experience with C programming
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.