The training combines theoretical learning with hands-on practical activities, making up 40%–50% of the course. Participants will work with code examples, exercises, and solutions using a Linux or Windows PC, with target boards provided for onsite sessions. A preconfigured virtual machine is also available for post-course practice.
To ensure a strong foundation, attendees should have prior experience with embedded C programming and a basic understanding of embedded processors. The course is designed for embedded systems engineers and technicians seeking to enhance their skills in real-time systems development.
Evaluation includes practical exercises and quizzes, with participants receiving a certificate of completion upon successfully demonstrating their skills. If any prerequisite gaps are identified, additional training recommendations will be provided in coordination with the trainee’s company.
The course is structured over three days, covering:
Day 1: Cortex-M4 architecture, real-time system fundamentals, and task management in FreeRTOS.
Day 2: FreeRTOS memory and resource management, synchronization mechanisms, and handling parallelism issues.
Day 3: Interrupt management, software timers, and memory protection with FreeRTOS-MPU.
Can be further customised with additional days to cover advanced topics such as data structures, memory management strategies, and real-time system optimisation, ensuring participants gain both theoretical knowledge and practical expertise for real-world embedded systems development.

