Formation FreeRTOS Programming | Ac6 Formation

ac6-formation, un département d'Ac6 SAS
FR
FrançaisEnglish
 
go-up

ac6 ac6-formation Systèmes d'Exploitation RTOS FreeRTOS Programming
OS3FreeRTOS Programming
Programming applications using the FreeRTOS operating system

Objectives

  • Understanding the FreeRTOS architecture.
  • Discovering the various FreeRTOS services and APIs.
  • Learning how to develop FreeRTOS applications.
  • Learning how to debug FreeRTOS applications.
  • Becoming familiar with FreeRTOS APIs.
  • Managing the Task priorities and clarifying the scheduling algorithm.
  • Explaining the inter-task communication.
  • Developping interrupt service routines.

Practical labs are conducted on STM32 boards under System Workbench for STM32.
(Keil or IAR can also be used for on site courses).
ACSYS is able to adapt the course to the Cortex-M based microcontroller chosen by the customer.
See our website for the various families we are covering: ST STM32, NXP LPC and Kinetis, TI Stellaris.
  • Example code, labs and solutions are provided to the attendees.
  • An ARM-based target board (Cortex/M) with a JTAG probe.
  • For open courses labs are done on STM32 boards using Sytem Workbench for STM32.
  • For on site courses, the customer may select Keil or IAR IDEs.
  • Familiarity with embedded C concepts and programming
  • Basic knowledge of embedded processors
  • Cours théorique
    • Support PDF (en anglais), imprimé en présentiel ; à distance via Teams.
    • Assistance du formateur tout au long de la formation.
  • Chaque session débute par un point avec les stagiaires.
  • Tout ingénieur ou technicien en systèmes embarqués possédant les prérequis ci-dessus.
  • Les prérequis sont évalués avant la formation.
  • Les progrès sont évalués par des quizz en fin de sections.
  • Chaque stagiaire reçoit une attestation de réussite.
  • En cas de prérequis manquant, une formation différente ou complémentaire est proposée.

Plan du cours

  • Introduction to FreeRTOS
    • The FreeRTOS architecture and features
    • The FreeRTOS license
  • Getting FreeRTOS source code
    • Files and directories structure
    • The demo applications
  • Data types and coding style
    • Naming conventions
  • FreeRTOS on the Cortex/M processors
  • The Task life-cycle
    • Creating tasks
    • Deleting tasks
    • The Endless-loop pattern
  • Task Priorities
    • Assigning task priorities
    • Changing task priorities
  • The idle task
    • Idle task hooks
  • Deterministic preemptive scheduling
    • Scheduling strategies
    • Cyclic scheduling (RMA)
    • Deadline scheduling
  • Cooperative scheduling
    • Hybrid scheduling
  • Purpose of queue management
  • Basic use
    • Creation
    • Sending on a queue
    • Receiving from a queue
  • Data management
    • Sending compound types
    • Transfering large data
  • Mutual exclusion
    • Mutexes and binary semaphores
    • Deadlocks
    • Priority inversion
    • Priority inheritance
  • Critical sections
    • Critical sections
    • Suspending (locking) the scheduler
    • Gatekeeper tasks
  • FreeRTOS-provided memory allocation schemes
    • Allocate-only scheme
    • Best-fit without coalescing
    • Thread-safe default malloc
  • Checking remaining free memory
  • Adding an application-specific memory allocator
  • FreeRTOS interrupt processing
    • Writing ISRs in C
    • Interrupt safe functions
    • Interrupt nesting
  • Deferred interrupt processing
    • Using semaphores within an ISR
    • Counting semaphores
    • Using queues within an ISR
    • Tasks with interrupt synchronization
  • The timer daemon task
  • Timer configuration
  • One-Shot and Auto-reload timers
  • The Software Timer API
  • Checking for stack problems
  • Common pitfalls
  • The Cortex/M MPU
    • User and privileged modes
    • Access permissions
  • Defining MPU regions
    • Overlapping regions
    • Predefined regions
    • Programmer-defined regions
  • Needed linker configuration
  • Practical usage tips
Plus d'information

Pour vous enregistrer ou pour toute information supplémentaire, contactez nous par email à l'adresse info@ac6-formation.com.

Les inscriptions aux sessions de formation sont acceptées jusqu'à une semaine avant le début de la formation. Pour une inscription plus tardive nous consulter

Vous pouvez aussi remplir et nous envoyer le bulletin d'inscription

Ce cours peut être dispensé dans notre centre de formation près de Paris ou dans vos locaux, en France ou dans le monde entier.

Les sessions inter-entreprises programmées sont ouvertes dès deux inscrits. Sous condition d'un dossier complet, les inscriptions sont acceptées jusqu'à une semaine avant le début de la formation.

Dernière mise à jour du plan de cours : 20 mai 2026

L'inscription à nos formations est soumise à nos Conditions Générales de Vente