Ac6 Training: Real Time Programming with FreeRTOS
Ac6 has been providing FreeRTOS training for years, helping thousands of engineers from all over the world master it. In this article, we'll take a closer look at Ac6's Real Time
Programming with FreeRTOS course, which is designed to give you a comprehensive understanding of the FreeRTOS architecture, along with the practical skills to develop and debug FreeRTOS
This course is designed for both experienced embedded systems programmers who want to expand their skillset and newcomers to multitasking programming. Throughout the course, you will
learn about the fundamentals of real-time programming, such as task scheduling, multitasking, synchronization, communication and memory management, and how they apply to FreeRTOS.
Additionally, you will develop a complete understanding of the FreeRTOS API and its various components, allowing you to develop efficient and reliable real-time applications.
The Real Time Programming with FreeRTOS course covers a wide range of topics to ensure a comprehensive learning experience. In addition, the content can be tailored to the
customer’s need. Some of the key areas covered include:
Fundamentals of real-time programming:
Learn about task scheduling, multitasking, synchronization, communication, interrupt handling and memory management.
Gain in-depth knowledge of the FreeRTOS kernel, its core components, and how they interact to provide real-time functionality.
Explore the various services and APIs offered by FreeRTOS, allowing you to leverage its features effectively in your projects.
Developing and debugging FreeRTOS applications:
Learn practical skills for developing, testing, debugging and tracing real-time applications using FreeRTOS.
The total duration of the course is 21 hours- 7 hours per day for 3 days in the Face-to-Face format or divided into four sessions of around five hours each for live online training.
The course strikes a balance between theoretical instruction and practical activities, with approximately 40-50% of the training time devoted to hands-on labs and exercises.
This course is conducted in two delivery formats: live online training and face-to-face training.
For an in-person training experience, Ac6 offers face-to-face training. This option is available not only at Ac6's training center but also on the customer's premises, whether
they are located in the USA, Europe, or anywhere else in the world.
Live Online Training
The live online training option allows participants to attend the course remotely from anywhere in the world. The sessions are conducted using a video-conferencing platform. Practical
activities are performed using an online or an offline virtual machine based on STM32 based QEMU emulator.
Regardless of the chosen delivery format, the course content and objectives remain the same, ensuring a comprehensive learning experience for all participants.
The hands-on labs constitute a significant portion of the course. Participants will have the opportunity to apply their knowledge in a practical setting, working on real-world scenarios
and challenges. Ac6 provides example code, labs, and solutions that guide participants through various exercises. These exercises cover different aspects of FreeRTOS. The trainer will be
available during the labs to provide technical and pedagogical assistance.
This figure summarizes one of the labs where you will learn about interrupt management, task synchronization, data passing, queue sets, and resource management. The lab involves
synchronizing a task with an Interrupt Service Routine (ISR) and implementing a gatekeeper task. You will use the shared resource “printf function” accessible only through the gatekeeper
Firstly, you will develop a task that prints the elapsed seconds since the kernel started. Secondly, you will implement the handler task synchronized with the button pressed interrupt
using semaphores. This handler task generates a random character and sends it to the gatekeeper task. The gatekeeper task can receive messages of different types (char or array of char) and
will wait until any message arrives to print it. This is done using a queue set.
To learn more about the Real Time Programming with FreeRTOS course and to inquire about enrollment, please contact us at
For a detailed course outline and additional information, visit our website.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.