ac6-training, un département d'Ac6 SAS
 
Site affiché en Français
Site affiché en FrançaisVoir le site en English (USA)Voir le site en English (GB)
+ +
- -
Cours en ligne
 
Calendrier  Détails
Systèmes d'Exploitation
 
Calendrier  Détails
Programmation
Calendrier  Détails
Processors
 
Calendrier  Détails
Communications
 
 
 
Calendrier  Détails
+ +
> >
- -

ac6 >> ac6-training >> Processors >> ST processors >> FreeRTOS Programming Télécharger la page Ecrivez nous

OS3 FreeRTOS Programming

Programming applications using the FreeRTOS operating system

formateur
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 de cours au format PDF (en anglais) et une version imprimée lors des sessions en présentiel
    • Cours dispensé via le système de visioconférence Teams (si à distance)
    • Le formateur répond aux questions des stagiaires en direct pendant la formation et fournit une assistance technique et pédagogique
  • Au début de chaque demi-journée une période est réservée à une interaction avec les stagiaires pour s'assurer que le cours répond à leurs attentes et l'adapter si nécessaire
  • Tout ingénieur ou technicien en systèmes embarqués possédant les prérequis ci-dessus.
  • Les prérequis indiqués ci-dessus sont évalués avant la formation par l'encadrement technique du stagiaire dans son entreprise, ou par le stagiaire lui-même dans le cas exceptionnel d'un stagiaire individuel.
  • Les progrès des stagiaires sont évalués par des quizz proposés en fin des sections pour vérifier que les stagiaires ont assimilé les points présentés
  • En fin de formation, une attestation et un certificat attestant que le stagiaire a suivi le cours avec succès.
    • En cas de problème dû à un manque de prérequis de la part du stagiaire, constaté lors de la formation, une formation différente ou complémentaire lui est proposée, en général pour conforter ses prérequis, en accord avec son responsable en entreprise le cas échéant.

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