0% ont trouvé ce document utile (0 vote)
0 vues3 pages

Free RTOS

Le TP3 sur l'ordonnancement avec FreeRTOS vise à comprendre la gestion des tâches en mode préemptif et non préemptif. Il met en évidence l'importance des priorités et des délais dans l'exécution des tâches, soulignant que le mode préemptif est essentiel pour les systèmes temps réel. Les résultats montrent que le mode préemptif offre une meilleure performance et une gestion efficace des ressources par rapport au mode non préemptif.

Transféré par

souha.boutouria
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues3 pages

Free RTOS

Le TP3 sur l'ordonnancement avec FreeRTOS vise à comprendre la gestion des tâches en mode préemptif et non préemptif. Il met en évidence l'importance des priorités et des délais dans l'exécution des tâches, soulignant que le mode préemptif est essentiel pour les systèmes temps réel. Les résultats montrent que le mode préemptif offre une meilleure performance et une gestion efficace des ressources par rapport au mode non préemptif.

Transféré par

souha.boutouria
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Compte Rendu : TP3 - Ordonnancement avec FreeRTOS

Objectif du TP : Comprendre le fonctionnement du système FreeRTOS, particulièrement la


gestion des tâches en mode préemptif et non préemptif, ainsi que l’impact des priorités et des
délais sur l’exécution.

1. Introduction
Un RTOS (Real Time Operating System) est conçu pour des applications exigeant une
synchronisation précise et une grande fiabilité. Il permet de gérer plusieurs tâches
simultanément en donnant l’illusion d’une exécution parallèle grâce à une planification
efficace. FreeRTOS est un noyau utilisé sur diverses plateformes comme Arduino et STM32.

2. Installation de la bibliothèque
Il existe deux méthodes principales pour intégrer FreeRTOS à l'IDE Arduino :

• Méthode 1 (Gestionnaire de bibliothèques) : Rechercher "FreeRTOS" (par Richard Barry)


dans le menu "Gérer les bibliothèques" et cliquer sur installer.

• Méthode 2 (Fichier ZIP) : Télécharger le fichier [Link] et l'ajouter via le menu


"Croquis" -> "Inclure une bibliothèque" -> "Ajouter la bibliothèque .ZIP".

Une fois installée, la bibliothèque doit être déclarée dans le code avec

#include < Arduino_FreeRTOS.h>

3. Étude du Mode Non Préemptif (configUSE_PREEMPTION = 0)


Dans ce mode, l'ordonnanceur ne force jamais un changement de tâche. Une tâche garde le
contrôle du processeur tant qu’elle ne le libère pas volontairement.

• Coopération obligatoire : Le passage d'une tâche à l'autre ne se fait que si la tâche


active appelle taskYIELD() ou utilise vTaskDelay().

• Impact des priorités : En mode non préemptif, les priorités ont moins d'impact car une
tâche de faible priorité peut bloquer une tâche plus haute tant qu'elle ne cède pas la
main.

4. Étude du Mode Préemptif (configUSE_PREEMPTION = 1)


C'est le mode utilisé dans le programme [Link]. Ici, le système interrompt automatiquement
les tâches selon leur priorité et les signaux d'horloge (ticks).

• Priorité stricte : Le processeur est toujours attribué à la tâche la plus prioritaire prête à
s’exécuter.

• Analyse du code implémenté :


o Tâche 1 (Priorité 1) : Gère la LED1 (Pin 4) avec un cycle de 1000ms.

o Tâche 2 (Priorité 1) : Gère la LED2 (Pin 7) avec un cycle de 10000ms.

o Observation : Bien que les deux tâches aient la même priorité, l'utilisation de
vTaskDelay() permet une alternance fluide car chaque tâche entre en état
"bloqué", laissant le CPU libre pour l'autre.
5. Comparaison des Modes d'Ordonnancement
Le tableau suivant résume les différences majeures observées :

Critère Mode Non Préemptif Mode Préemptif

Ordonnancement Manuel (Coopératif) Automatique

Performance Faible Élevée

Risque Blocage (Famine) Faible

Utilisation Applications simples Systèmes Temps Réel

6. Conclusion
Ce TP a mis en évidence l'importance de la stratégie d'ordonnancement. Le mode préemptif
est essentiel pour les systèmes temps réel car il assure une meilleure gestion des ressources
et une exécution fluide des tâches critiques. Le choix des priorités et l'utilisation correcte des
délais (vTaskDelay) sont les piliers d'un système embarqué fiable et réactif.

Élaboré par:

• Aymen Masmoudi

• Assil Zaouali

• Ahmed Zalfani

Vous aimerez peut-être aussi