====== Les Linux emarqués ======
  *[[http://www.terranux.net/punbb/viewtopic.php?id=799|Page originale]] Sur Terranux par Jacqueline.
==== Définition ====
Aujourd'hui nous sommes cernés par les microprocesseurs.. longtemps restés un domaine à part..faute de pouvoir communiquer avec  les ordinateurs individuels..

Avec des systèmes de développement d'OS en assembleur  : un langage machine ésotérique et un maque terrible d'interfaces .. Des systèmes borgnes !

 Aujourd'hui plus personne ne conçoit un système embarqué sans le faire communiquer avec un ordinateur  portable via un bus et même par internet..

 Ca exige d'avoir un véritable OS  embarqué dans l'Eprom du micro processeur,  généralement 32 Mo de capacité.. ca suffit ! 

Alors que tout le monde rêve d'avoir 2 Go de RAM  sur son PC pour faire tourner le dernier vista. sprachlos020  . 

 Linux peut être réduit à une toute petite taille  puisque sur les systèmes embarqués  on ne gère pas de disques dur..

 Enfin pour des plus gros systèmes embarqués , comme dans l'aéronautique et le spatial, on a besoin d'un OS  digne de ce nom, et qui soit hyperfiable. et facile à maintenir.. ( alors qu'avec un OS maison chaque fois il faut se reformer : j'ai connu six modèles de calculo : chacun leur langage, leur architecture et leur OS..) pour développer des apllications nouvelles, bin c'est galère..alors qu'avec Linux ça aurait été plus cool ! ( mais  il était pas encore inventé.. )

 En plus Linux est très modulaire : ce qui permet de l'adapter facilement à des besoins très divers.

Linux  dispose d'une assisance communautaire inégalée.. je ne sais pas si vous avez utilisé des hotlines pour comprendre ce que je veux dire par là ! 

En plus il est en GPL, ce qui évite de facturer aux clients le coût de brevets..

 D'où l'essor de Linux dans le domaine de l'embarqué..

 Mais il ne faut pas se leurrer.. ce n'est pas  parce que Linux est en GPL , qu'il n'est pas commercialisé et de nombreuses boites ont fait cette adaptation de Linux, ont testée , l'ont faite certifier  et ont développé des outisl autour. C'est leur gagne pain..
 
Fort heureusement pour nous il reste des Linux embarqués libres !  tout prêts  !
 
Mais aussi la possibilité de le faire en partant des sources  du kernel et en faisant une rigoureuse sélection des divers composants de Linux..

 Ne vous attendez pas à retrouver KDE et Gnome et Xorg ni Open Office dans un sytème embarqué.. on en a pas besoin.  

Par contre vous aurez les protocoles de communication internet : http et FTP, ainsi que ssh et telnet  qui permettent de communiquer avec ce système (électronique embarqué) pour son exploitation et sa maintenance  sur place où à distance par internet ..

 Ca ne veut pas dire qu'un système embarqué est toujours borgne ..

Par exemple  il peut gérer un tableau de bord de voiture  ( les aiguilles c'est fini et les premières expériences pas toujours réussies avec des afficheurs  ou des LEDS font partie du passé.. Ca va se terminer avec une dalle LCD..  à la place des cadrans.. 

 Dans l'embarqué il y  a deux grandes familles  :

- des OS simples  comme votre linux ..certes multitâches  

 et puis 

- des  OS dits Temps Réel..

 Pour linux il a fallu rajouter un morceau qui a été developpé pour ça.. 

 Avant d'avoir   des OS temps réel et des microprocesseurs   on utilisait des calculateurs industriels spécialisés  avec leur propre langage machine et un Os taillé sur mesure.. et sur chaque machine tout changeait..

 Une des difficultés en abordant ce domaine , c'est de faire le tri entre les deux..

 Sur un autre topic j'essayerais d'expliquer  simplement ce que c'est  un OS  temps réel et à quoi ça peut bien servir.. parce que dans les docs habituelles,  on plonge tout de suite dans  les entrailles de l'OS  et dans le jargon informatique des spécialistes.. 

C'est très dur d'aborder ça la première fois  si on a pas des exemples concrets en tête.. c'est très utilisé dans de nombreuses applications de l'embarqué..

Juste pour entrevoir le problème  : 

vous avez déjà vu votre PC avec Linux  ramer comme un damné..à attendre qu'il ait fini un truc avant de vous redonner la main.. ( ca arrive ! )

Si on confie le pilotage  et la sécurité d'une voiture à un OS embarqué..  

Par exemple le radar anticollision  :  s'il détecte un risque de collision il ne va pas attendre que le processeur ait fini de gérer des taches courantes pour ralentir la voiture et ou freiner à votre place.. il va falloir le gérer en priorité..tout de suite !  et poursuivre les autres tâches après, en les reprenant  là où on les vait abandonnées comme si  rien  ne s'était passé. 

 Linux le fait bien un peu, il est multitaches, mais ce n'est pas  suffisament bien organisé.. Linux  est fait avant tout pour un PC de bureau, pas pour gérer un Airbus, ni une centrale nucléaire, ni une voiture..

 Pour choisir l'un où l'autre : la première question à se poser est :

 est ce que j'ai besoin d'avoir un OS temps réel pour gérer cette application

 Mais on peut tout de même l'utiliser avec des exemples (rigolos ) pour se familiariser avec.. big_smile 

Le PC  n'est pas non plus conçu pour ça .. tout d'abord c'est une usine a gaz ! par contre sur des cartes à microprocesseur on peut faire une mini machine pour le temps réél ,  et une vraie ! 

Conclusion  :

 L'interet du domaine de l'embarqué , c'est  qu'ont peut vraiment faire de la programmation innovante, parce que dans le domaine de la bureautique tout a été fait ou presque..et on  se cantonne toujours à ces mêmes sujets.. 

Par dessus ce linux embarqué il faut créer ses applications.. déveloper des Interfaces sur son PC pour  gérer son système.

 L'autre intêret .; malgré la taille limitée de Linux embarqué, c'est de bien connaître l'OS : de quoi il est composé  et ce que fait  chaque morceau.

 et enfin  il faut se préparer à cette invasion...