4. Qu'est-ce qu'un système embarqué ?
4
•Un système embarqué est un système informatique intégré dans un appareil
ayant une fonction dédiée.
•Ceci diffère du système informatique traditionnel et polyvalent.
5. Exemple de système embarqué
5
Téléphones et tablettes
•Processeur de communication
• Wifi
• GSM/3G/LTE
• Bluetooth/NFC
•Processeur Audio/graphique
• Audio Processing
• Graphics and Video Processing
• Processeur d’application
• Android
• Windows Phone ,
iOS
9. Alors pourquoi est-ce différent du
développement pour ordinateur de bureau
9
•Les systèmes embarqués sont généralement soumis à des contraintes en
termes de ressources matérielles.
● processeur: capacité de traitement modestes.
● mémoire : quantité limité> optimisation de la gestion mémoire.
● stockage :quantité limité
● Energie: utilise souvent des batteries>prolonger la duré de vie de la
batterie et réduire la chaleur
•De plus, les applications des systèmes embarqués sont souvent soumises
à des contraintes de temps réel: cela signifie que ces applications doivent
répondre à des délais spécifiques et garantir que leurs opérations sont effectuées
dans des intervalles de temps précis. Par exemple, dans un système de contrôle
de véhicule, la détection d'un obstacle nécessite une réaction immédiate pour
éviter une collision.
10. Alors pourquoi est-ce différent du
développement pour ordinateur de bureau
10
•Le système a une forte association entre le matériel (HW) et le logiciel
(SW): le développement du matériel et du logiciel est intégré. Les équipes de
développement collaborent pour s'assurer que le matériel est capable de
prendre en charge les fonctionnalités requises par le logiciel, et vice versa.
11. D'accord…….. et Alors?
11
Le développeur doit prendre en compte toutes ces contraintes.
• Le développement doit prendre en considération l'efficacité du code et
l'empreinte mémoire: Cela signifie que lorsqu'un développeur crée un logiciel
pour un système embarqué, il doit écrire un code qui utilise efficacement les
ressources du système. L'efficacité du code se réfère à la manière dont le
programme utilise le processeur, la mémoire et d'autres ressources
disponibles. L'empreinte mémoire fait référence à la quantité de mémoire que
le programme occupe.
12. D'accord…….. et Alors?
12
• Les outils de Debugging sont plus proches du niveau matériel: Cela
signifie que les développeurs utilisent des outils de débogage qui leur
permettent d'inspecter le fonctionnement du code à un niveau plus bas,
souvent au niveau matériel du système embarqué. Ces outils de débogage
peuvent fournir des informations détaillées sur le comportement du code,
les registres du processeur, la mémoire.
13. D'accord…….. et Alors?
13
• Une attention particulière doit être accordée à la consommation
d'énergie dans certains cas: Les développeurs doivent prendre des
mesures pour minimiser la consommation d'énergie, telles que
l'optimisation du code, la mise en veille de certaines parties du système
lorsque cela est possible,
15. 15
Traget
Host
• L'environnement de développement est différent de l'environnement
cible.
• Besoin d'outils de développement et de débogage multiplateformes
(cross platform)
17. Est-il nécessaire d'avoir un système
d'exploitation ?
17
•Pas forcément, Il est possible de concevoir et mettre en œuvre des systèmes
embarqués sans utiliser de système d'exploitation (OS).
•Dans de tels cas, le logiciel est généralement directement programmé pour interagir
avec le matériel sans passer l’OS.
•Par exemple, code de bootloader et de kernel ne suppose pas de système
d'exploitation.
•Le développement est généralement réalisé en langage d'assemblage
•Pas de prise en charge multitâches, ou bien multiutilisateur, ou multiprocesseur
•Aucun support pour le temps.
18. Quel système d’exploitation devrions nous
utiliser?
18
Cout
•Système d’exploitation commerciaux
•Système d’exploitation gratuits
19. Quel système d’exploitation devrions nous
utiliser?
19
Cout
•Système d’exploitation commerciaux
□Différents modèles de payements:
◊Prix fixe pour la licence du système.
Par type ou famille d’appareil
Par type de processeur
◊License par siège
◊Cout de redevance
20. Quel système d’exploitation devrions nous
utiliser?
20
Cout
•Système d’exploitation gratuits:
Aucun cout direct pour l’utilisation du système d’exploitation
Parfois, il ya des couts indirects: Support, special version
.
21. Quel système d’exploitation devrions nous
utiliser?
21
Exigence matérielle
•Chaque système d’exploitation a ses propres exigences
matérielle: Certains systèmes d'exploitation nécessitent un
processeur 32 bits, tandis que d'autres sont compatibles avec un
processeur 8 bits.
•Chaque système d'exploitation a ses propres exigences minimales
en termes de mémoire et d'espace de stockage
•De plus, la plateforme embarquée peut avoir des exigences
spécifiques:
.
22. Quel système d’exploitation devrions nous
utiliser?
22
Footprint
•Footprint en informatique se réfère généralement à la quantité
d'espace mémoire ou de ressources qu'un logiciel ou un système
d'exploitation utilise.
•Le "footprint" peut inclure la taille du noyau du système
d'exploitation, les bibliothèques système, les fichiers système
nécessaires au fonctionnement de base, ainsi que les fichiers
applicatifs.
• Un "footprint" plus petit est souvent avantageux dans le domaine
des systèmes embarqués,.
23. Quel système d’exploitation devrions nous
utiliser?
23
Portabilité
•La portabilité fait référence à la capacité d'un système d'exploitation à fonctionner
sur différents types de matériel ou à être utilisé dans des environnements variés
sans nécessiter de modifications majeures.
•Permet aux applications et aux logiciels écrits pour un système d'exploitation de
fonctionner sur différentes plates-formes sans nécessiter une réécriture complète.
24. Quel système d’exploitation devrions nous
utiliser?
24
Prise en charge du temps réel
•Les applications embarquées sont généralement soumises à des contraintes
temps réel.
•Cela nécessite la prise en charge du temps réel dans le système d'exploitation.
•Real time operating system= RTOS.
25. Quel système d’exploitation devrions nous
utiliser?
25
Configurabilité
•Certains systèmes d'exploitation embarqués offrent la possibilité d'être
configurables.
•Cela signifie que certaines de leurs fonctionnalités sont facultatives et peuvent
être désactivées si elles ne sont pas nécessaires pour l'application embarquée ou
le matériel..
•De cette manière, nous personnalisons notre système d'exploitation en fonction
des besoins de l'application
26. Quel système d’exploitation devrions nous
utiliser?
26
Support
•Il est uniquement proposé par le
fournisseur.
•Avons-nous un soutien important de la
communauté ?
•Disponibilité de la documentation
27. Quel système d’exploitation devrions nous
utiliser?
27
Open source
open source fait référence à un modèle de développement de logiciel dans
lequel le code source du programme est rendu accessible au public, permettant
à quiconque de voir, utiliser, modifier et distribuer le logiciel. Cela signifie que le
code source du logiciel est disponible de manière transparente, sans restrictions
significatives.