top of page

Real Time Programming with FreeRTOS

Pris

Förfrågan

Varaktighet

4 Dagar

Real Time Programming with FreeRTOS



Real Time Programming with FreeRTOS (Online)
13 May 2025 at 09:00 – 16 May 2025 at 16:00 CESTOnline via Teams + Virtual environment
Registrera dig nu

Course Description

Objectives

  • Get an overview on Cortex-M4 architecture

  • Discover the concepts of real time multitasking

  • Understand Real Time constraints

    • Determinism

    • Preemption

    • Interrupts

  • Understand the FreeRTOS architecture

  • Discover the various FreeRTOS services and APIs

  • Learn how to develop FreeRTOS applications

  • Learn how to debug FreeRTOS applications


Requirements

  • Familiarity with embedded C concepts and programming

  • Basic knowledge of embedded processors

Course duration

  • Total: 20 hours

  • 4 sessions, 5 hours each (excluding break time)

  • From 40% to 50% of training time is devoted to practical activities

  • Some Labs may be completed between sessions and are checked by the trainer on the next session

Target Audience

  • Any embedded systems engineer or technician with the above prerequisites.



Day 1

Cortex-M Overview

  • ARMv7-M Architecture

  • Cortex-M4 Architecture

  • Registers and Execution States

  • Privileges, Mode and Stacks

  • Reset Behavior

  • Exception and Interrupts

  • The System Timer

  • Memory Model

  • Power Management

  • STM32F407x Implementation Example

Exercise: 

Create a new project

Exercise: 

Interrupt Management

Real-Time Concepts

  • Embedded system architectures

  • Tasks and process

  • Real-Time

Exercise: 

Context Switch

Day 2

Introduction to FreeRTOS

  • The FreeRTOS Family

  • FreeRTOS+Ecosystem

  • Why use FreeRTOS

  • FreeRTOS Code Structure


Scheduling

  • Scheduler

  • Schedulability


Task Management

  • Creating Tasks

  • Task Priorities

  • Task States

  • The idle task

  • Delays

  • Changing Task Priority

  • Deleting Tasks

  • Suspending Tasks

  • Kernel Structures

  • Thread Local Storage

  • Kernel Interrupts on Cortex-M4

  • Scheduling Traces

  • Visual trace diagnostics using Tracealyzer

Exercise: 

Task Management

Exercise: 

Periodic Tasks

Exercise: 

Task Statistics

Day 3

Memory Management in FreeRTOS

  • FreeRTOS Memory Managers

  • Out of Memory management

  • Stack overflow detection

Exercise: 

Context Switch Measurement

Resource Management

  • Mutual Exclusion

  • Critical Sections

  • Mutexes

  • Gatekeeper Tasks

  • Lock-Free Data Structures

Exercise: 

Resource Management

Synchronization Primitives

  • Queues

  • Queues Sets

  • Synchronization

  • Events and Event Groups

  • The Readers/writer problem

  • Using Other Primitives within an ISR

Exercise: 

Queue Management

Exercise: 

Readers Writer Problem

Day 4

Interrupt Management

  • Tasks and Interrupts

  • FreeRTOS Binary and Counting Semaphores

  • Task Notifications

  • Stream Buffers

  • Message Buffers

  • Interrupt Nesting

  • Low Power Support

Exercise: 

Interrupt Management

Exercise: 

Tickless Mode

Software Timer

  • Software Timers

  • Deferred Interrupt Handling

Exercise: 

Implement Soft Timers

Exercise: 

Software Timer Management

FreeRTOS-MPU

  • The Cortex-M MPU

  • The FreeRTOS-MPU Port

  • Defining MPU Regions

  • Creating User and System Tasks

  • Practical Usage Tips

Appendix

Data Structures

  • FIFO

  • Linked list

Memory Management and Real-Time

  • Memory Management

  • Memory Errors

CMSIS – RTOS

  • Overview

  • Kernel Information and Control

  • Threads Management

  • Generic Wait Functions

  • Communication and Resource Sharing

    • Semaphores

    • Mutex

    • Message Queue

    • Signal Events

    • Event Flags

    • Memory Pool

    • Mail Queue

  • Timer Management

  • Interrupt Service Routines


Nohau Training Partner

This course is provided by a Nohau Training Partner, a trusted provider of hands-on training for professionals in embedded systems, software development, and engineering.

Nohau Training Partner

SJÄLVSTUDIER

Lär dig Embedded-utveckling i din egen takt – när och var du vill!

ANPASSADE KURSER

Anpassad träning för bättre embedded-kompetens i ditt team.

CERTIFIKAT

Våra kurser tillhandahåller TRUE certifikat – Erkända av branchledare.

Nohau office meeting room
bottom of page