Course Outline
Introduction
Foundations of Real-Time Operating Systems (RTOS)
Principles of Multitasking in Embedded Environments
FreeRTOS Kernel Architecture Overview
STM32 Microcontroller Unit Board Specifications
Configuration of the Development Environment
- Procurement and Installation of Required Software Tools
- Configuration of STM32 Firmware and Hardware Interfaces
Task Management Strategies in RTOS
- Stack Memory Allocation and Task Stack Sizing
- Implementation of Initial Tasks
- Application of Task Parameters
- Prioritization of Tasks
- Analysis of Task State Transitions
- Execution of Delay Functions
- Utilization of the Idle Task Hook
- Task Termination Procedures
Inter-Task Communication Mechanisms
- Queue Management
- Queue Architecture Overview
- Operational Use of Queues
- Interrupt and Semaphore Control
- Semaphore Fundamentals and Interrupt Handling
- Implementation of Interrupt Handlers in FreeRTOS
- Synchronization of Tasks via Interrupt-Driven Semaphores
- Data Queueing within Interrupt Service Routines
Resource Management Protocols
- Mutex Implementation
- Binary Semaphore Usage
- Counting Semaphore Application
Memory Allocation and Timekeeping Management
FreeRTOS Kernel Internals Analysis
- Diagnostic and Performance Instrumentation
- Kernel Structural Components
Development of an LED Control Application Using FreeRTOS
- STM32 General Purpose Input/Output (GPIO) Pin Configuration
- Task-Based Control of On-Board LED Indicators
- LED State Manipulation via Queue Operations
- LED State Manipulation via Interrupt Triggers
Troubleshooting Procedures
Conclusion
Requirements
- Knowledge of embedded system architectures
- Fundamental proficiency in C programming
Target Audience
- Professional engineers
- Engineering students
- Individuals seeking to develop skills relevant for government and public sector applications using FreeRTOS
- Those pursuing knowledge of embedded systems for government purposes
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.