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 (5)
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.
julius gunn - self
Course - FreeRTOS: Programming for Real Time Operating Systems
I genuinely enjoyed the trainer knowledge.