====== Linux embarqués ======
  *[[http://www.terranux.net/punbb/viewtopic.php?id=799|Page originale]] sur Terranux par Jacqueline.

==== Présentation ====
1 - Parts de marché de Linux dans le domaine des systèmes embarqués :

{{http://linuxdevices.com/files/article077/embedded_OS_sourcing_trends.jpg}}

Linux représente plus de 50 % de ce marché, qui lui me représente plus de 90 % des microprocesseurs vendus dans le monde.( le PC c'est 10 % )



Les distributions utilisées pour Linux embarqué ( toutes applications confondues ) 

{{http://linuxdevices.com/files/article077/embedded_Linux_OS_sourcing_trends.jpg?610}}

 Je constate avec plaisir que le kernel arrive largement en tête..
 et il est suivi de Debain , loin devant les distribs spécialisées temps réel comme RTAI et µClinux..

 Source d'information: Linux Devices.com


 Après une particularité des  distributions Linux embarquées:

 Certaines sont propriétaires et payantes , d'autres sont libres.

Mais la pression  que met la version libre de Linux  fait que pour les applications courantes, les fabricants de microprocesseurs ou de cartes , mettent de plus en plus souvent de façon gratuite leur version de Linux embarqué..adaptée pour leurs cartes et processeurs..

 Avec le developpement des applications comme le téléphone mobile, les lecteurs portables multimédia , vendus à des millions d'exemplaires , aucun constructeur, principalement les aisatiques, ne veulent payer des royalties sur chaque produit vendu..

 Longtemps les microprocesseurs, moins performants qu'aujourd'hui étaient programmés  en langage machine ( avec un OS maison minimal )

 .
 Aujourd'hui les fabricants  savent intégrer plus de choses, et varier leurs modèles, les capacités mémoire dans un seul chip  RAM et ROM ont augmenté  et le prix a baissé..  On  peut donc mettre des OS beaucoup plus performants que ceux de l'origine des microprocesseurs.. linux était assez modulaire pour  faire ça !

Par exemple : le One Lap Top Per Child ( l'ordi à 100 euros, qu'on peut considérer comme un système embarqué puisqu'il n'a pas de disque et que le système est en mémoire ROM ) tourne sous Linux, windows était trop volumineux et inseccable..


il ya donc deux catégories dans l'embarqué :

  ***les systèmes embarqués simples**  pour les applications qui n'ont pas de critères sévères de temps et de priorités

  ***les systèmes dit "temps réel"** où là il faut gérer des évènements  à l'instant même selon des priorités.

 Pour ces derniers  il faut rajouter une couche de logiciel entre le matériel  et  Linux ( pour gérer les interruptions du processus que l'on pilote et la priorité de chacune des taches de l'application)

Historiquement il y a eu   une version libre de ce système linux temps réel : RT Linux  ( une équipe de développeurs qui a  bien profité de  la communauté Linux, pour développer son système temps réel, puis a  arrété le développement de sa distrib en version LIBRE au noyau 2.4  et RTLinux s'est transformée en société commerciale, car il y a  énormément d'argent à faire dans ce créneau.

 

 Mais ils resteront à jamais des guignols à coté des grosses sociétés spécialisées dans le domaine des systèmes  embarqués temps réel pour  l'aviation , l'automobile , l'industrie,  qui utilisent  des systèmes qualifiés, certifiés.. et surtout on a pas besoin d'eux..et ils ne repésentent pas une part important des OS de l'embarqué temps réel.

 Vous connaissez le développent de Linux, qui progresse régulièrement grâce à sa communauté de développeurs, mais  parfois il y a des bugs, des failles. Tout le monde connaît les versions stables et en test.. 

Mais on ne peut pas confier les passagers d'un Airbus, ou une centrale nucléaire à un OS, sans le tester avec la plus grande rigueur,  selon des normes précises.

 Dans l'aviation il existe une norme :

**DO-178B**

[[http://www.do178btraining.com/qna.htm|Le site de la norme.DO-178B.]]

Mais dans l'automobile et les autres secteurs  il existe aussi des normes.. et chaque client peut commander un logiciel qui respecte telle ou telle norme..



  *[[http://www.misra.org.uk/|MISRA C / MISRA C:2004]]
  *[[http://www.ldra.co.uk/fr/defstan.asp|DEF-STAN 00-55]]
  *[[http://www.do178btraining.com/qna.htm|D0-178B]]
  *[[http://www.ruleworks.co.uk/testguide/BS7925-2.htm|BS7925]]
  *[[http://www.sei.cmu.edu/cmmi/general/index.html|CMMI]]

 Forcément l'OS qui supporte les applications doit être certifié..

 On peut conc comprendre que ces systèmes certifiés , se vendent, car c'est un travail énorme..

 En tête pour le temps réel  je placerais :\\  {{http://www.lynuxworks.com/images/lynuxworks-open-safe-115px.png}} 

Toutes les versions de LynxOS

 Le prix, c'est comme chez Dior : c'est confidentiel.

 Je le comprend moins pour une  petite distrib..

 Enfin parmi les  fabricants de microprocesseurs,  certains comme Axis jouent complètement le jeu de la GPL  et de GNU Linux. Vous n'avez besoin de rien acheter pour faire tourner leurs processeurs et y rajouter une foule d'applications; mais ça ne marche que pour leur arch : cris.

Par contre il ya une vraie communauté qui  fournit une abondante documentation et tutos..
 
Freescale fournit aussi des outils linux, pour ses processeurs. .


Open Embedded

C'est un environnement de développement  100 % GPL et GNU Linux, dérivé de Gentoo..et de Zaurus ( un linux pour les  PDA de Sharp ) pour développer un système embarqué..

 Son apprentisage est un peu long , mais c'est un outil très universel , qui nous fera gagner beucoup de  temps pour compiler nos kernels embarqués..
 
Contrairement à d'autres IDE pour l'embarqué  il tourne sous  diveres plateformessur lesquelles on peut mettre Linux..

On trouve aussi  

[[http://emdebian.sourceforge.net/emdebian/emdebian.html|{{http://emdebian.sourceforge.net/Pics/emdebian_swirl.jpg}}]]

De quoi contenter tous les membres de Terranux...

Ca doit expliquer la part importante de [[deb:Debian:wiki|Debian]] et d'[[deb:Ubuntu]] dans l'embarqué ( voir le graphique ) 

Le temps réel c'est différent : en libre car fort heureusement d'autres fervents défenseurs  de la **GPL** et de **GNU-Linux**  ont pris la relève....   mais très professionnels   ce ne sont pas des gadgets, on trouve  :

RTAI
 

en deux versions  :

- une pour l'étude et la simulation s'un stysytème temps réel embarqué : RTAI Lab, que l'on pourra connecter à des outils de modélisation et de simulations puissntas,  comme matlab et symultink en version commerciale ou  Scilab et Scicos en version GPL

- une pour le système embarqué définitif après sa mise au point avec la précedente version.

Xenomai. 

 Toute nouvelle 2005 et qui  a une approche différente de RTAI.

Il n'y a pas besoin de patch à coté de Linux .. Le temps réel est vraiment intégré dans le noyau de  Linux.