Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 Le libre en milieu Le libre en milieu industriel industriel Retour d'expériences Retour d'expériences
Cette présentation décrit des utilisations de logiciel libre (Linux) pour des développements informatiques dans des projets industriels, embarqués et temps réel. Le portage d'une application écrite pour des RTOS traditionnels vers Linux est également abordé. Le document a été présenté lors de Solutions Linux 2007
Text of Logiciels libres en milieu industriel
1. Ce document est le proprit de CIO Informatique Industrielle
et ne peut tre diffus sans son autorisation crite Le libre en
milieu industriel Retour d'expriences Confrence le libre en milieu
industriel - Solutions Linux 2007 - 30 Janvier 2007
2. CIO Informatique Industrielle Ce document est le proprit de
CIO Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Socit d'ingnierie en informatique industrielle
et technique Au service de nos clients depuis 1990 Une quipe de 15
spcialistes pour accompagner les projets industriels ou militaires
La culture des systmes ouverts et normaliss, l'expertise de
l'embarqu et du temps rel Investissement sur Linux depuis 2000 Sige
St Etienne Agence Marseille Membre de Libertis, association de SSLL
en rgion PACA http://www.libertis.org Confrence le libre en milieu
industriel - Solutions Linux 2007 - 30 Janvier 2007
3. Linux en milieu industriel Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Des caractristiques sduisantes pour les besoins
industriels : Possibilit de dveloppement crois Adaptation de l'OS
pour devices rduits Solutions pour prise en compte de contraintes
temps rel Trs grand nombre d'architectures supportes Processeur
utilis dans les applications embarques (Embedded Linux Market
Survey 2005 LinuxDevices.com) Linux disponible sur les 5
architectures les plus utilises Confrence le libre en milieu
industriel - Solutions Linux 2007 - 30 Janvier 2007
4. Linux chez CIO Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Projets types : Logiciels sur cahier des charges
pour des clients du monde industriel ou de la dfense Comportent
gnralement des aspects temps rel et/ou embarqu, et des interactions
avec le monde rel OS utiliss jusqu'en 2000 : Windows pour les IHM
et quelques projets de contrle/commande RTOS traditionnels tels
OS9, VxWorks, QNX etc.... Action volontariste en direction de Linux
partir de 2000 Dmarche base sur : Connaissance pralable d'Unix
Intuition que la puissance d'Unix sur des bases matrielles
accessibles (PC) serait une association intressante. Confrence le
libre en milieu industriel - Solutions Linux 2007 - 30 Janvier
2007
5. Linux chez CIO Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Une dmarche en 3 temps : Prise en compte de la
technologie sur projet de R&D interne Communication sur Linux
auprs de la clientle, beaucoup d'intrt mais peu de projets Dcollage
important des projets industriels en Linux Projets bass sur Linux
100 90 80 70 60 50 % C.A. 40 30 20 10 0 2000 2002 2004 2006
Confrence le libre en milieu industriel - Solutions Linux 2007 - 30
Janvier 2007
6. Linux chez CIO Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Monte en puissance en plusieurs phases :
Remplacement d'OS spcialiss et propritaires sur architecture 68K,
PowerPC par Linux sur architecture X86 (banalisation des composants
issus du monde PC) Essaimage sur d'autres architectures
Actuellement utilis sur : Projets embarqus sur X86, PowerPC, Arm,
bientt FPGA et micro contrleurs (2007) Projets temps rel avec
extensions RTAI et Xenomai Prsentation de quelques projets
Confrence le libre en milieu industriel - Solutions Linux 2007 - 30
Janvier 2007
7. Le projet : Contrle/Commande sur Linux/RTAI Ce document est
le proprit de CIO Informatique Industrielle et ne peut tre diffus
sans son autorisation crite Buts du projet : Contrler une machine
de production partir d'un PC industriel sous Linux (machine
d'usinage) Projet pilote pour valider la technologie Linux chez le
client Projet ralis en 2001 Confrence le libre en milieu industriel
- Solutions Linux 2007 - 30 Janvier 2007
8. Les contraintes du projet Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Ncessit d'un dterminisme temps rel valuation des
solutions compatibles avec un dterminisme la milliseconde Masquage
des aspects informatiques de la solution Pas de processus
d'installation complexe Rsistance aux coupures brutales Stabilit
des solutions retenues Confrence le libre en milieu industriel -
Solutions Linux 2007 - 30 Janvier 2007
9. Les choix de design Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Dterminisme Evaluation des solutions possibles :
patches du kernel, RTLinux, RTAI Patches disponibles permettent
seulement du soft temps rel, insuffisant RTAI plus riche au niveau
API que RTLinux, retenu Robustesse Eviter les corruptions de File
System des aux arrts brutaux (pas encore de File System journalis)
File System mont en Ram Disk Une partie minimale du File System sur
disque dur pour mise jour des donnes variables Installation
Installation de l'OS et de l'applicatif en 1 seule passe (3
disquettes d'installation) Confrence le libre en milieu industriel
- Solutions Linux 2007 - 30 Janvier 2007
10. Les difficults rencontres Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Complexit due RTAI Dveloppement en mode kernel
Pas de protection mmoire (similaire certains OS temps rel) Debug
plus difficile Possibilit de plantage complet du systme(amlior
depuis en trappant les exceptions) Design de l'application rparti
entre Linux et RTAI Communication avec l'extrieur sous Linux
Processus de contrle commande sous RTAI Echanges entre parties RTAI
(modules kernel) et process Linux par des mcanismes d'IPC Absence
de drivers RTAI Migration des drivers Linux vers RTAI Confrence le
libre en milieu industriel - Solutions Linux 2007 - 30 Janvier
2007
11. Les difficults rencontres Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Allocateur mmoire RTAI Ncessit d'allouer
dynamiquement de la mmoire partage entre Linux et RTAI RTAI propose
2 allocateurs Allocateur dynamique pour mmoire interne RTAI
Allocateur non dynamique pour mmoire partage entre RTAI et Linux
CIO cre un nouvel allocateur, synthse des 2 allocateurs existants
Illustration concrte des avantages de l'Open Source Documentation
pas toujours jour Confrence le libre en milieu industriel -
Solutions Linux 2007 - 30 Janvier 2007
12. Les aspects positifs Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Solution rellement temps rel : temps de cycle de
1ms strictement respect Solution facilement embarquable Empreinte
disque infrieure 3 Mo Empreinte mmoire de l'ordre de quelques Mo
Accessibilit des sources de la plateforme systme Possibilit de
correction de bugs bloquants Possibilit de customisation pour
besoins propres (nouvel allocateur) Confrence le libre en milieu
industriel - Solutions Linux 2007 - 30 Janvier 2007
13. Le projet : Portage OS9 vers Linux Ce document est le
proprit de CIO Informatique Industrielle et ne peut tre diffus sans
son autorisation crite Buts du projet : Remplacement d'une
architecture ancienne 68K/OS9 par une architecture PowerQuick/Linux
Assurer la faisabilit et estimer les cots de portage sur une partie
de l'application du client (pile de gestion SNMP de l'quipement)
Projet ralis fin 2004 Confrence le libre en milieu industriel -
Solutions Linux 2007 - 30 Janvier 2007
14. La dmarche Ce document est le proprit de CIO Informatique
Industrielle et ne peut tre diffus sans son autorisation crite
Travailler au niveau systme pour minimiser les cots de portage Base
sur une bonne connaissance des OS de dpart et d'arrive Cration de
wrappers sous forme de fichiers headers ou de librairie de
transition 1re phase de portage sur un PC Linux Facilit de
dveloppement et de debug Pas besoin de hardware spcifique au niveau
applicatif 2me phase de passage sur le hardware dfinitif Processeur
PowerQuick (architecture PowerPC) Confrence le libre en milieu
industriel - Solutions Linux 2007 - 30 Janvier 2007
15. Les difficults rencontres Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Qualit du code source initial : Compilateur OS9
laxiste (car ancien) Compilateur GCC actuel beaucoup moins tolrant
Des portions de code reprendre pour passer la compilation Problmes
d'alignement des structures de donnes : Diffrences d'alignement
entre compilateurs OS9 et Linux Problme pour les changes sur le
rseau Pas de mise des donnes au format rseau : Problme rvl par la
phase 1 de travail sur PC Linux (Intel vs Motorola) Passage de
toutes les donnes rseau par les routines de mise au format rseau
(htonl, htons, ntohl, ntohs etc...) Confrence le libre en milieu
industriel - Solutions Linux 2007 - 30 Janvier 2007
16. Les difficults rencontres Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Modle de mmoire Application multi tches avec de
nombreuses structures de donnes partages OS9 utilis en mmoire plat
Linux impose une mmoire segmente Les structures de donnes partages
vhiculent des pointeurs Les zones de mmoire partages sont situes
des adresses diffrentes selon les process Linux incohrence des
pointeurs 2 solutions : Remplacer les pointeurs par des offsets
Mapper les mmoires partages la mme adresse pour tous les process
2nde solution adopte pour minimiser la rcriture, mais solution
moins sre (mapping dpendant de l'volution de chaque process)
Confrence le libre en milieu industriel - Solutions Linux 2007 - 30
Janvier 2007
17. Les difficults rencontres Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Utilisation massive de signaux et d'alarmes
temporelles : OS9 permet un trs grand nombre de signaux users, et
de multiples alarmes armes en parallle Ncessit de multiplexer les
signaux users sous Linux Traitement des alarmes temporelles dans
des threads d'alarme Confrence le libre en milieu industriel -
Solutions Linux 2007 - 30 Janvier 2007
18. Les aspects positifs Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Dmarche en 2 phases (PC puis PowerQuick) russie
code portable sur toute architecture Linux Confort de la mise au
point sur le PC de dveloppement, en natif Peu de reprise du code
applicatif Reprises lies au changement de compilateur (modulo la
solution retenue pour la mapping mmoire) Traitement en transparence
du changement d'OS au niveau du fichier header et de la librairie
de transition Validation de la faisabilit de porter d'un RTOS assez
spcifique Linux (modle mmoire, signaux, alarmes etc...) Portage
ralis dans les budgets initialement prvus possibilit d'extrapoler
le cot du portage global de l'application Confrence le libre en
milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
19. Le projet : Redondance Ethernet Ce document est le proprit
de CIO Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Buts du projet : Dvelopper un quipement assurant
la redondance d'un rseau Ethernet La redondance doit rester
transparente aux applications (dj existantes) Le matriel doit tre
trs facilement modifiable (architecture processeur, facteur de
forme etc...) quipement ralis partir d'une CPU et de 3 ports rseau
Ethernet Confrence le libre en milieu industriel - Solutions Linux
2007 - 30 Janvier 2007
20. Le concept Ce document est le proprit de CIO Informatique
Industrielle et ne peut tre diffus sans son autorisation crite
Duplication du trafic Filtrage des paquets dupliqus Trafic normal
Trafic redond Confrence le libre en milieu industriel - Solutions
Linux 2007 - 30 Janvier 2007
21. Pourquoi Linux ? Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Le client souhaitait disposer du code source de
l'ensemble du logiciel : Systme Applicatif Possibilit de raliser le
produit avec le maximum d'ouverture Choix de la CPU le plus large
possible (Intel, PPC, Arm) Couverture la plus large possible en
terme de chipset Ethernet Ncessit d'une application totalement
enfouie : Logiciel boite noire Temps de dmarrage rduit Logiciel
assimilable un firmware Qualit des stacks rseau de Linux Confrence
le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier
2007
22. La mise en oeuvre Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Projet ralis sur : Architecture PowerQuick (PPC)
: CPU disposant de 3 ports Ethernet Architecture Intel : CPU +
carte rseau Ethernet additionnelle dans rack Compact PCI
Application travaillant au niveau 802.3 en mode promiscuous
Gnration de trames au format TCP/IP pour supervision de l'quipement
1re version dveloppe de manire classique, sous forme de processus
2nde version dveloppe sous forme de kernel module pour optimiser la
performance Ncessit de modifier lgrement le code d'un driver
Ethernet pour exploiter le mode promiscuous Confrence le libre en
milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
23. La mise en oeuvre Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Ralisation d'une empreinte de faible taille pour
flashage File system Linux minimal avec lancement de l'application
de gestion de la redondance, aucune interaction avec un utilisateur
Pas d'adresse IP au niveau de l'quipement pour permettre un
remplacement sans reconfiguration Confrence le libre en milieu
industriel - Solutions Linux 2007 - 30 Janvier 2007
24. Les aspects positifs Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Application effectivement portable : Ralise sur
architecture PPC et Intel Drivers Ethernet internes au PowerQuick
(FEC) et Intel EtherExpress Pro utiliss Temps de mise en route trs
court : Quinzaine de secondes pour Linux et applicatif Temps du
BIOS sur architecture Intel incompressible Image compacte flashable
dans quelques Mo, application totalement enfouie Trs peu de perte
de bande passante ou de retard induit dans la version optimise
(module kernel) Confrence le libre en milieu industriel - Solutions
Linux 2007 - 30 Janvier 2007
25. Quelques autres projets concrets Ce document est le proprit
de CIO Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Botier enregistreur pour l'industrie automobile
: CPU PC104 + carte DSP + carte CAN sous Linux 2.4 + RTAI, portage
des drivers + squelette applicatif Appareil d'analyse mdicale : CPU
ARM, Linux 2.6 + librairies graphiques lgres, gnration et
installation de l'environnement, automatisation de la cration de
l'image Concentrateur de donnes embarqu sur engin militaire Cartes
VME PowerPC sous Linux 2.6, drivers + applicatif Nouvelle carte
base sur processeur XScale Dveloppements systme : Bootloader, Boot
Linux, drivers Cration du File System de base incluant services
rseau, paramtrage Web, supervision SNMP Confrence le libre en
milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
26. La gestion des volutions Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Politique de versions : Ne pas courir derrire la
nouveaut Attendre des versions de kernel mineure suffisamment
stables (> 15) Geler au maximum une version valide, et n'en
changer qu'en cas de bug bloquant En cas de bug bloquant, plusieurs
possibilits : Correction par soi mme partir des sources Application
slective de patch(s) pour corriger localement le bug Changement
global de version Confrence le libre en milieu industriel -
Solutions Linux 2007 - 30 Janvier 2007
27. Synthse Ce document est le proprit de CIO Informatique
Industrielle et ne peut tre diffus sans son autorisation crite
Intrt de l'Open Source pour la possibilit d'accs aux sources
Comprhension / mise au point, corrections etc... Ne pas tomber dans
une analyse exhaustive du source (un industriel n'est pas une
universit !!!) Richesse des outils de gnie logiciel lis au monde
Linux Doxygen pour la documentation CVS pour gestion de version
etc... Une plateforme technique arrive maturit Pour l'embarqu
Support de multiples architectures Possibilit de viser quelques Mo
de Flash et de RAM (ex: 8 Mo Flash/16 Mo RAM) Pour le temps rel,
mais au prix de l'utilisation d'extensions si l'on vise du temps
rel dur Confrence le libre en milieu industriel - Solutions Linux
2007 - 30 Janvier 2007
28. Synthse Ce document est le proprit de CIO Informatique
Industrielle et ne peut tre diffus sans son autorisation crite
Gratuit des outils de dveloppement issus du monde libre Pas de
risque li l'volution commerciale d'une socit Rachat Changement de
stratgie Dplacement des cots de l'acquisition d'outils
l'acquisition de comptences Fort potentiel technique des solutions,
dynamisme du dveloppement Phase d'apprentissage prvoir : ne pas
rinventer la roue, support diffrent du modle traditionnel etc....
Absence d'interlocuteur central, mais possibilit d'appui par la
communaut ou des socits spcialises telle CIO Confrence le libre en
milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
29. Pour aller plus loin Ce document est le proprit de CIO
Informatique Industrielle et ne peut tre diffus sans son
autorisation crite Pour toute information complmentaire : Visitez
notre site Web http://www.cioinfoindus.fr Contactez nous : Tl : 04
95 05 19 41 Mail : mailto:[email protected]
Possibilit d'envoi des slides de la prsentation sur demande
Confrence le libre en milieu industriel - Solutions Linux 2007 - 30
Janvier 2007
30. Confrence le libre en milieu industriel - Questions ?
Solutions Linux 2007 - 30 Janvier 2007 Ce document est le proprit
de CIO Informatique Industrielle et ne peut tre diffus sans son
autorisation crite