WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Les systèmes embarqués

( Télécharger le fichier original )
par Ramzi BOULKROUNE
Université de Annaba - Ingénieur d'état en électronique option télécommunication 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

II.9. Les systèmes d'exploitation dans les systèmes embarqués :

Dans la section précédente, nous avons présenté les systèmes d'exploitation en général, et notamment pour les ordinateurs. Dans le monde des systèmes embarqués, le logiciel a une part de plus en plus importante ; les systèmes d'exploitation deviennent donc essentiels dans ce domaine.

Cette section présente les systèmes d'exploitation dans le cas particulier des systèmes embarqués. Dans une première sous-section nous présenterons les fonctionnalités requises pour le logiciel dans les systèmes embarqués, puis dans la deuxième sous-section les contraintes et les degrés de libertés. Enfin, nous résumerons les avantages et inconvénients de l'utilisation de systèmes d'exploitation dans les systèmes embarqués et nous présenterons quelques solutions alternatives.

II.9.1. Fonctionnalités requises pour le logiciel dans les systèmes embarqués :

Dans ce paragraphe nous allons présenter les fonctionnalités requises pour les systèmes embarqués. Nous verrons d'abord les fonctionnalités communes avec les systèmes d'exploitation généraux, puis nous verrons les fonctionnalités spécifiques aux systèmes embarqués : pour les communications, pour le temps, et pour les pilotes de périphériques.

II.9.1.1. Fonctionnalités communes avec les systèmes d'exploitation généraux :

Les systèmes d'exploitation embarqués possèdent de nombreuses fonctionnalités communes avec les systèmes d'exploitation généraux. Ils doivent par exemple pouvoir gérer une ou plusieurs tâches et les ressources matérielles.

Ces fonctionnalités sont cependant à moduler les besoins spécifiques d'un système embarqué : par exemple une gestion multitâche n'est pas nécessaire si une seule tâche est exécutée par le processeur. De plus, elles doivent respecter des contraintes particulières pour les systèmes embarqués qui peuvent notablement changer leur implémentation comme nous le verrons dans le paragraphe II.9.2.

II.9.1.2. Fonctionnalités de communication spécifique :

Dans les systèmes embarqués spécifiques, et notamment dans les systèmes monopuces, l'architecture est dédiée à l'application pour optimiser les performances et le coût. Cela implique que les architectures de tels systèmes sont très variées. Cette variété se répercute directement sur les communications : tout d'abord parce qu'elles aussi sont optimisées pour l'application, mais aussi parce que les divers composants n'utilisent que rarement les mêmes types de communications.

Ainsi les communications peuvent être point à point ou multipoints comme le montre la figure II.17. Cette figure présente les deux types de communications, le premier requiert plus de connexions et donc plus de surface, tandis que le deuxième peut être un goulet d'étranglement et donc un facteur ralentissant. Elles peuvent être implémentées avec ou sans mémorisation intermédiaire. La mémorisation intermédiaire permet de désynchroniser deux blocs, sans pour autant forcer les blocs à s'attendre mutuellement pour échanger des données. Cette mémorisation intermédiaire peut elle-même être gérer de plusieurs manières différentes : par exemple cela peut être un système de mémoire partagée ou un système FIFO, illustré à la figure II.18, qui montre aussi les avantages de la mémorisation intermédiaire pour désynchroniser deux blocs.

Une caractéristique importante des communications est la définition des protocoles : ils sont très nombreux suivant les architectures, les données à transiter et les contraintes associées (par exemple : CAN ou même TCP/IP). Ces communications peuvent être réalisées en faisant plus ou moins intervenir le logiciel ou le matériel, suivant les compromis choisis entre la performance et la souplesse. De plus, au cours de la conception, ou même après la réalisation, la frontière entre le logiciel et le matériel n'est pas fixe.

Ces divers cas se retrouvent souvent combinés dans la même architecture.

Chapitre II conception des logiciels embarqués

Communication point a point

Module 1
(processeur, matériel...)

Module 3
(processeur, matériel...)

Module 2
(processeur, matériel...)

Module 4
(processeur, matériel...)

Communication multipoint

Module 1
(processeur, matériel...)

Module 3
(processeur, matériel...)

Module 2
(processeur, matériel...)

Module 4
(processeur, matériel...)

Figure II.17 : Communication point à point et communication multipoint

p p g q

Chapitre II conception des logiciels embarqués

Communication asynchrone (par poignée de main)

Module 1
(processeur, matériel...)

Module 2 (processeur, matériel...)

Module 1 écrit Module 2 lit

Module 1 : requête donnée

Module 2 :

acquittement

 
 

Module 1 doit attendre

Communication par FIFO (et poignée de main)

Module 1
(processeur, matériel...)

Module 2
(processeur, matériel...)

Module 1 écrit Module 2 lit

Module 1 : peut effectuer une autre tâche

Module 1 : requête donnée

FIFO

acquittement
Module 2 : requête

acquittement

FIFO donnée

Figure II.18 : Files d'attentes FIFO pour désynchroniser deux blocs sans les forcer à s'attendre
mutuellement

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Ceux qui vivent sont ceux qui luttent"   Victor Hugo