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 (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
Zdecydowanie najbardziej angażująca była sekcja praktyczna - a w niej to, że mielieśmy możliwość rzeczywistego zaprogramowania i wypalenia FWu na fizycznym urządzeniu. Z samych wykładów najbardziej do gustu przypadła mi sekcja mówiąca o mechanizmach tworzenia i synchronizacji wątków (zadania, timery, kolejki itd.), były to kluczowe zagadnienia i zostały przedstawione bardzo dobrze
Grzegorz - Intel Technology Poland sp. z o.o.
Course - FreeRTOS: Programming for Real Time Operating Systems
Wszechstronna wiedza trenera - z różnych platform, systemów operacyjnych, epok. Świetnie dobrane środowisko, sprzęt i przykłady do tematu - zautomatyzowanie przygotowania projektu zminimalizowało czas na to potrzebny pozwalając się skupić na meritum.
Patryk - Intel Technology Poland sp. z o.o.
Course - FreeRTOS: Programming for Real Time Operating Systems
Oprogramowanie systemu FreeRTOS i rozwinięcie tematów AKO
Mateusz - Intel Technology Poland sp. z o.o.
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.