SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
Rennes – 20 mai 2014
Lepton Système d’exploitation
Temps réel pour l’embarqué
Préparé par:
Philippe Le Boulanger: p.le-boulanger@o10ee.com
Nicolas Bravin:n.bravin@o10ee.com
http://o10ee.com/
http://code.google.com/p/lepton/
Rennes – 20 mai 2014
Lepton
•  C'est un système d'exploitation temps-réel pour
des cibles embarquées aux ressources et
puissances limitées.
•  Cibles visées: Micro-contrôleurs Cortex M3/M4,
ARM7 et ARM9… .
•  3 axes de développements:
• 1. Ressources matérielles limitées/basse
consommation.
• 2. Réutilisation/"softwarisation".
• 3. Environnement de développement/mise au point.
Rennes – 20 mai 2014
Qu’est-ce que c’est ?
Rennes – 20 mai 2014
Lepton
๏ Historique
๏ Architecture interne
๏ Architecture firmware
๏ Empreinte mémoire
๏ Exemples
๏ Open source
๏ Conclusion
Rennes – 20 mai 2014
Chauvin-Arnoux
Présentation
•  Société fondée en 1893, spécialisée dans le
développement d instruments de mesure.
•  Chauvin-Arnoux group : 6 centres de R&D, 6
sites de production:
• Pôle tests et mesures (Chauvin-Arnoux, Metrix).
• Pôle équipements électriques (Enerdis).
• Pôle équipements thermiques (Pyro-contrôle)
• Service réalisations spéciales (Enerdis).
Rennes – 20 mai 2014
Chauvin-Arnoux
Les produits
Testeur RCD Micro-ohmmètre
Mutltimètre 100000 points
Testeur Multifonctions
Répéteur météo
Oscilloscope
Rennes – 20 mai 2014
Architecture firmware
spaghetti
traitement
des
données
gestion mesure
gestion écran
gestion
sdcard
gestion
clavier
gestion
ethernet
gestion
rs232
Rennes – 20 mai 2014
Architecture firmware
Code des mécanismes de
gestion de périphériques
•  Extraction du code de
l application ou du code de
gestion de périphériques
difficile voir impossible.
•  Conséquence: réutilisation
ou évolution compliquée.
Rennes – 20 mai 2014
Chauvin-Arnoux
la standardisation
•  Une démarche de standardisation du logiciel et
matériel est en route. L objectif: faciliter la mise
au point des produits et raccourcir les délais de
développement.
•  Pour y parvenir, il est nécessaire de créer des
modules logiciels et matériels standardisés :
des « briques ».
Rennes – 20 mai 2014
Chauvin-Arnoux
la standardisation
processeur
matériels
d interaction
avec
l utilisateur
matériels de
stockage de
données.
matériels de
communication
matériels
mesures
• écran
• clavier
• commutateur
• …
• eeprom
• flash (nor, nand)
• sdcard
• …
• rs232,rs485
• ethernet
• wifi
• zigbee
• usb
• …
• traitement
analogique
• traitement
numérique (DSP)
Rennes – 20 mai 2014
De nouveaux besoins
• De plus en plus de fonctionnalités évoluées
sont exigées «Softwareisation».
➡ plus de moyen de communication: Ethernet, USB,
wifi, Bluetooth (4.0 BLE), zigbee, Bus CAN, ...
➡ Plus de protocoles qu ils soient informatiques
(TCP/UDP/IP V4 et V6, FTP, HTTP avec du
cgi, ...), ou industriels (Ethercat, profinet,...).
➡ Interface graphique.
• Coût croissant de leurs implémentations.
Rennes – 20 mai 2014
Pourquoi un système
d exploitation ?
• Il permet :
• De s abstraire des ressources matérielles et facilite
ainsi le portage.
• D accueillir des fonctionnalités évoluées et de les
intégrer dans une architecture homogène.
• De manipuler aisément ces fonctionnalités au
moyen de fonctions génériques: périphériques d e/
s, aspects temps-réel et multitâche.
Rennes – 20 mai 2014
Architecture firmware
structurée
traitement
des
données
gestion mesure
gestion écran
gestion
sdcard
gestion
clavier
gestion
ethernet
gestion
rs232
traitement
des
données
gestion mesure
gestion écran
gestion
sdcardgestion
clavier gestion
ethernet
gestion
rs232
système d exploitation
Rennes – 20 mai 2014
Architecture firmware
structurée
Code des mécanismes de
gestion de périphériques
Code API gestion des flux de données
Code
Pile
Réseau
Code
Système
de
fichiers
Code générique de gestion des
pilotes de périphériques d e/s
Code de l application
Code pilote
UART
Code pilote
Ethernet
Code pilote
flash nand
Systèmedexploitation
Rennes – 20 mai 2014
Architecture firmware
structurée
Code de l application A Code de l application B
Code API gestion des flux de données
Code
Pile
Réseau
Code
Système
de
fichiers
Code générique de gestion des
pilotes de périphériques d e/s
Code pilote
UART
Code pilote
Ethernet
Code pilote
flash nand
Systèmedexploitation
BSP
A
Code API gestion des flux de données
Code
Pile
Réseau
Code
Système
de
fichiers
Code générique de gestion des
pilotes de périphériques d e/s
Systèmedexploitation
Code pilote
UART
Code pilote
Ethernet
Code pilote
flash nand
BSP
A
réutilisation
évolution ou nouveau développement
réutilisation
Code pilote
UART
Code pilote
Ethernet
Code pilote
flash nand
BSP
B
ou
intégration nouveau
BSP
Rennes – 20 mai 2014
lepton objectifs
• Accueil de briques logicielles.
• Réutilisation de ces briques logicielles.
• Amélioration de leur stabilité.
• Disponibilité de solutions sur étagère.
• Synergie entre les projets et les équipes.
Rennes – 20 mai 2014
Lepton
๏ Historique
๏ Architecture interne
๏ Architecture firmware
๏ Empreinte mémoire
๏ Exemples
๏ Open source
๏ Conclusion
Rennes – 20 mai 2014
Lepton Architecture
• Abstraction vis-à-vis du
noyau temps réel.
• Gestion pilote de
périphérique et streams.
• «Piles» réseau
• Systèmes de fichiers.
• Appels et fonctions
système POSIX.
• Pseudo processus.
processus shell
pthread
principal
processus httpd
pthread
principal
POSIX
i2c eeprom
module
vfs/file system interface
vfs
kernel/vfs interfaces
rootfs
kernel i/o interface
kernel mechanism
LCD driver
kalkal
FAT yaffs
i2c
driver
FTL
module
flash driver
ethernet driver
lwip
IP
stack
uIP
IP
stack
PPP
module
uart driver
Rennes – 20 mai 2014
Noyau temps réel
•  Lepton utilise un noyau temps
réel sans le modifier.
• embOS Segger
• eCos
• freeRTOS
•  Le noyau temps réel apporte les
services suivants:
• Gestion de tâches:
ordonnancement, synchronisation
(mutex,semaphore), évènements.
• Gestion des interruptions
kalkal
processus shell
pthread
principal
processus httpd
pthread
principal
POSIX
i2c eeprom
module
vfs/file system interface
vfs
kernel/vfs interfaces
rootfs
kernel i/o interface
kernel mechanism
LCD
driver
FAT yaffs
i2c
driver
FTL
module
flash driver
ethernet driver
lwip
IP
stack
uIP
IP
stack
PPP
module
uart driver
Rennes – 20 mai 2014
Pilote de périphérique
•  Modèle de pilote de
périphérique (type bloc et
caractère)
•  Streams
•  Visible dans le système de
fichiers: /dev
processus shell
pthread
principal
processus httpd
pthread
principal
POSIX
vfs/file system interface
vfs
kernel/vfs interfaces
rootfs
kernel mechanism
kalkal
FAT yaffs
lwip
IP
stack
uIP
IP
stack
i2c eeprom
module
kernel i/o interface
LCD driver
i2c
driver
FTL
module
flash driver
ethernet driver PPP
module
uart driver
Rennes – 20 mai 2014
Pile protocolaire IP
• LWIP v1.3.2
• support IPv4 (IPv6
prochainement)
• TCP/UDP
• uIP du projet Contiki
• support IPv4 et IPv6 (Pas de
dual stack)
• TCP/UDP
• Accessible par:
• Socket BSD.
• read() et write().
lwip
IP
stack
uIP
IP
stack
processus shell
pthread
principal
processus httpd
pthread
principal
POSIX
kernel mechanism
kalkal
vfs/file system interface
vfs
kernel/vfs interfaces
rootfs FAT yaffs
i2c eeprom
module
kernel i/o interface
LCD driver
i2c
driver
FTL
module
flash driver
ethernet driver PPP
module
uart driver
Rennes – 20 mai 2014
Système de Fichiers
• Le système de fichiers est un
élément central dans le
fonctionnement de ce type
d architecture
• VFS Virtual File System
✓ rootfs
✓ ufs
✓ kofs
✓ FAT
✓ YAFFS
vfs/file system interface
vfs
kernel/vfs interfaces
rootfs FAT yaffs
processus shell
pthread
principal
processus httpd
pthread
principal
POSIX
i2c eeprom
module
kernel i/o interface
kernel mechanism
LCD
driver
kalkal
i2c
driver
FTL
module
flash driver
ethernet driver
lwip
IP
stack
uIP
IP
stack
PPP
module
uart driver
Rennes – 20 mai 2014
POSIX
POSIX
processus shell
pthread
principal
processus httpd
pthread
principal
i2c eeprom
module
vfs/file system interface
vfs
kernel/vfs interfaces
rootfs
kernel i/o interface
kernel mechanism
LCD
driver
kalkal
FAT yaffs
i2c
driver
FTL
module
flash driver
ethernet driver
lwip
IP
stack
uIP
IP
stack
PPP
module
uart driver
• POSIX 1003.1-2008 Base
Definition
• open(), read(), write(), vfork()…
• POSIX Realtime Extension
•  Files de messages,
semaphores,
• POSIX Threads Extension
• processus léger: pthread,
mutex, conditions (moniteur).
Rennes – 20 mai 2014
POSIX
• POSIX standardise les appels systèmes
et fonctions du système d exploitation.
• Elle permet la réutilisation de briques
logicielles entre systèmes d exploitation
respectant ce standard.
Rennes – 20 mai 2014
Pseudo Processus
• Il permet:
• une décomposition en
«brique» de traitement
élémentaire.
• l utilisation de certains
mécanismes de l approche
UNIX.
• Pas de «relogement» en
mémoire.
• Pas d espace mémoire
réservé.
processus shell
pthread
principal
processus httpd
pthread
principal
POSIX
i2c eeprom
module
vfs/file system interface
vfs
kernel/vfs interfaces
rootfs
kernel i/o interface
kernel mechanism
LCD driver
kalkal
FAT yaffs
i2c
driver
FTL
module
flash driver
ethernet driver
lwip
IP
stack
uIP
IP
stack
PPP
module
uart driver
Rennes – 20 mai 2014
Pseudo processus
0
1
2
3
4
5
…
10
11
…
table des descripteurs du processus
pthread
principal
pthread
secondaire
pthread
secondaire
liste chainée des pthreads noyau
associés au processus
pthread
principal
pthread
secondaire
pthread
secondaire
0 0 0 0
0 0 0 0
masque signaux temps-réel
signaux temps-réel pendants
…
kernel_sigqueue
signaux temps-réel empilés
void(*__sa_handler)(int)
void(*__sa_handler)(int)
void(*__sa_handler)(int)
void(*__sa_handler)(int)
masque signaux standards 0
0
0 1 0
0 0 0signaux standards pendants
void(*__sa_handler)(int)
void(*ma_fonction)(int)
void(*__sa_handler)(int)
void(*__sa_handler)(int)
processus
Rennes – 20 mai 2014
Lepton
๏ Historique
๏ Architecture interne
๏ Architecture firmware
๏ Empreinte mémoire
๏ Exemples
๏ Open source
๏ Conclusion
Rennes – 20 mai 2014
Architecture firmware
fichier de configuration
.XML
sources lepton
sources applications
mklepton
fichiers sources générés
fichier firmware .elf
Cible
JTAG
Rennes – 20 mai 2014
Architecture firmware
le shell
Rennes – 20 mai 2014
Architecture firmware
Exemple 1
processus 2
pthread
principal
application /usr/sbin/lsh
0
1
entrée standard
sortie standard
processus 4
pthread
principal
application /usr/bin/ihm
0
1
entrée standard
sortie standard
/dev/kb
/dev/fb/fb0
/dev/ttys0
/dev/ttys0
processus 5
pthread
principal
application /usr/bin/msr -i 2 -c 100
0
1
entrée standard
sortie standard
4 /var/msr.o 8
write() read()
lepton#2$ msr -i 2 -c 200 &
/dev/ttys0
/dev/ttys0
Rennes – 20 mai 2014
Architecture firmware
Exemple 2
processus 2
pthread
principal
application /usr/sbin/lsh
0
1
entrée standard
sortie standard
processus 1
pthread
principal
application
serveur http
/usr/bin/net/mongoosed
7
8
sortie
entrée
5
6
entrée
sortie
processus 3
pthread
principal
application /usr/sbin/msr -i 2 -c 10
0
1
entrée standard
sortie standard
read()
write()
read()
read()
write()
write()
tube FIFO
tube FIFO
connexion
socket
pipe()
vfork()
dup()
close()
execve()
waitpid()
vfork()
execve()
waitpid()
tube FIFO
Rennes – 20 mai 2014
Lepton
๏ Historique
๏ Architecture interne
๏ Architecture firmware
๏ Empreinte mémoire
๏ Exemples
๏ Open source
๏ Conclusion
Rennes – 20 mai 2014
Empreinte mémoire
• Empreinte mémoire (Cortex M3):
• minimum: 150KB de code 27KB RAM
• Shell et autres utilitaires comme ls, stty, ps…
• POSIX (150 Fonctions et appels système
supportés)
• VFS et systèmes de fichiers: rootfs, ufs, kofs.
• Pilote de périphérique (Liaisons séries)
• Lignes de code
• 250 000 lignes de code
Rennes – 20 mai 2014
Empreinte mémoire
•  Echo d un paquet UDP sur
un socket BSD
•  Pile uIP IPv6
•  Connexion PPP
•  Liaison série à 115200
Bauds
•  Cible: Cortex M3 512KB
Flash
•  Performance: 7% de CPU
avec utilisation du lien PPP
à 98%
Rennes – 20 mai 2014
Lepton
๏ Historique
๏ Architecture interne
๏ Architecture firmware
๏ Empreinte mémoire
๏ Exemples
๏ Open source
๏ Conclusion
Rennes – 20 mai 2014
Exemples de produits
utilisant Lepton
Testeur RCD Micro-ohmmètre
Testeur Multifonctions
Répéteur météo
Oscilloscope
Rennes – 20 mai 2014
Évolution et réutilisation
lepton v1.0 v2.0 v3.0 v4.0
Arch 16bits
Arch 16bits
Arch 32bits
Arch 32bits Arch 32bits
Plusieurs appareils
en cours de
développement…
Rennes – 20 mai 2014
Exemple d organisation
du développement
svn mantis
application
ca6116
cvs mantis
serveur
noyau
équipe
Metrix
svn mantis
application
handscope
équipe
Chauvin-Arnoux
Pôle test et mesure
svn mantis
application
FREMM équipe
Enerdis
Réalisation spéciale
équipe
transversale
Développement lepton
Rennes – 20 mai 2014
Lepton
๏ Historique
๏ Architecture interne
๏ Architecture firmware
๏ Empreinte mémoire
๏ Exemples
๏ Open source
๏ Conclusion
Rennes – 20 mai 2014
Briques open source
Environnement de développement
Linux
Simulation
OpenOCD + JTAG
Linux
Rennes – 20 mai 2014
Briques open source
réutilisées dans lepton
Mongoose Web Server
FTP server Troll-FTPd for eCos
Nano-X Microwindows
FLNX: FLTK pour Nano-X
eCos noyau temps réel
Rennes – 20 mai 2014
Lepton
en Open Source
Noyau lepton: structure
«officielle» d intégration
et de développement
Entreprises
Organismes/laboratoires
de recherche
Communauté
open source
Rennes – 20 mai 2014
Lepton
๏ Historique
๏ Architecture interne
๏ Architecture firmware
๏ Empreinte mémoire
๏ Exemples
๏ Open source
๏ Conclusion
Rennes – 20 mai 2014
Résumé
•  Lepton met à disposition des concepts avancés que
l on retrouve sur des systèmes d exploitation plus
volumineux.
•  Il permet de faire face aux besoins de
fonctionnalités évoluées (communication, interface
utilisateur, stockage).
•  Il est basé sur une architecture modulaire avec des
interfaces et mécanismes standardisés qui offrent
une plus grande souplesse de réutilisation et de
portage.
•  Il est disponible en open source.
Rennes – 20 mai 2014
La place de Lepton
Rennes – 20 mai 2014
Bien commencer !
http://code.google.com/p/lepton/
http://code.google.com/p/lepton/source/browse/docs/INSTALL
http://code.google.com/p/lepton/source/browse/docs/START
http://code.google.com/p/lepton/source/browse/docs/AVAILABLE_POSIX
Rennes – 20 mai 2014
Prochaines évolutions
•  Plus grande intégration dans un environnement
de développement.
•  Sécurité/sureté: Protection mémoire MPU, … .
•  Gestion avancée de la consommation
énergétique: Tickless,… .
•  Plus de micro-contrôleurs supportés.
•  «Véritable» processus (avec du XIP).
•  Développement d un noyau temps réel dédié.
•  Utilisation de LLVM
•  …
Rennes – 20 mai 2014
Merci de votre attention.

Más contenido relacionado

Similar a Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014

Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]ANEO
 
Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLpprem
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de donnéespprem
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
 
Alphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.xAlphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.xAlphorm
 
An21 g formation-tcp-ip-pour-les-administrateurs-aix
An21 g formation-tcp-ip-pour-les-administrateurs-aixAn21 g formation-tcp-ip-pour-les-administrateurs-aix
An21 g formation-tcp-ip-pour-les-administrateurs-aixCERTyou Formation
 
#NSD14 - Sécuriser le moteur de l'Internet
#NSD14 - Sécuriser le moteur de l'Internet#NSD14 - Sécuriser le moteur de l'Internet
#NSD14 - Sécuriser le moteur de l'InternetNetSecure Day
 
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELECRetour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELECMicrosoft Technet France
 
Presentation Intech 2003
Presentation Intech 2003Presentation Intech 2003
Presentation Intech 2003brice
 
Développement Noyau Et Driver Sous Gnu Linux
Développement Noyau Et Driver Sous Gnu LinuxDéveloppement Noyau Et Driver Sous Gnu Linux
Développement Noyau Et Driver Sous Gnu LinuxThierry Gayet
 
AlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPAlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPjulien pauli
 
Architecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAPArchitecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAPLINAGORA
 
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel librePierre Ficheux
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis GroupIBM France Lab
 
Lepton : Description succincte
Lepton : Description succincteLepton : Description succincte
Lepton : Description succincteO10ée
 
Production logicielle, outils et pratiques
Production logicielle, outils et pratiquesProduction logicielle, outils et pratiques
Production logicielle, outils et pratiquesJohan Moreau
 
PHP dans le cloud
PHP dans le cloudPHP dans le cloud
PHP dans le cloudMicrosoft
 

Similar a Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014 (20)

Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
 
Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCL
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de données
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
Alphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.xAlphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.x
 
An21 g formation-tcp-ip-pour-les-administrateurs-aix
An21 g formation-tcp-ip-pour-les-administrateurs-aixAn21 g formation-tcp-ip-pour-les-administrateurs-aix
An21 g formation-tcp-ip-pour-les-administrateurs-aix
 
my_resume(fre)
my_resume(fre)my_resume(fre)
my_resume(fre)
 
Fully Automated Nagios, Solutions Linux 2009
Fully Automated Nagios, Solutions Linux 2009Fully Automated Nagios, Solutions Linux 2009
Fully Automated Nagios, Solutions Linux 2009
 
#NSD14 - Sécuriser le moteur de l'Internet
#NSD14 - Sécuriser le moteur de l'Internet#NSD14 - Sécuriser le moteur de l'Internet
#NSD14 - Sécuriser le moteur de l'Internet
 
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELECRetour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
 
Presentation Intech 2003
Presentation Intech 2003Presentation Intech 2003
Presentation Intech 2003
 
Développement Noyau Et Driver Sous Gnu Linux
Développement Noyau Et Driver Sous Gnu LinuxDéveloppement Noyau Et Driver Sous Gnu Linux
Développement Noyau Et Driver Sous Gnu Linux
 
AlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPAlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHP
 
Architecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAPArchitecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAP
 
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
 
Lepton : Description succincte
Lepton : Description succincteLepton : Description succincte
Lepton : Description succincte
 
Production logicielle, outils et pratiques
Production logicielle, outils et pratiquesProduction logicielle, outils et pratiques
Production logicielle, outils et pratiques
 
Php dans le cloud
Php dans le cloudPhp dans le cloud
Php dans le cloud
 
PHP dans le cloud
PHP dans le cloudPHP dans le cloud
PHP dans le cloud
 

Último

La logistique a L'ère de l'industrie 4.0
La logistique a L'ère de l'industrie 4.0La logistique a L'ère de l'industrie 4.0
La logistique a L'ère de l'industrie 4.0ourssoula
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptbentaha1011
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvreidelewebmestre
 
BOW 2024 - Logement des veaux laitiers en plein air
BOW 2024 - Logement des veaux laitiers en plein airBOW 2024 - Logement des veaux laitiers en plein air
BOW 2024 - Logement des veaux laitiers en plein airidelewebmestre
 
Compersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huileCompersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huileMBouderbala
 
Chapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesChapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesangevaleryn
 
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresBOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresidelewebmestre
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...idelewebmestre
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsidelewebmestre
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...idelewebmestre
 
Agrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en DordogneAgrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en Dordogneidelewebmestre
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasidelewebmestre
 
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...idelewebmestre
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...idelewebmestre
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfalainfahed961
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairidelewebmestre
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 

Último (20)

La logistique a L'ère de l'industrie 4.0
La logistique a L'ère de l'industrie 4.0La logistique a L'ère de l'industrie 4.0
La logistique a L'ère de l'industrie 4.0
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
 
BOW 2024 - Logement des veaux laitiers en plein air
BOW 2024 - Logement des veaux laitiers en plein airBOW 2024 - Logement des veaux laitiers en plein air
BOW 2024 - Logement des veaux laitiers en plein air
 
Compersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huileCompersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huile
 
Chapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesChapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniques
 
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresBOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminants
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
 
Agrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en DordogneAgrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en Dordogne
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
 
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
 
Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chair
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 

Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014

  • 1. Rennes – 20 mai 2014 Lepton Système d’exploitation Temps réel pour l’embarqué Préparé par: Philippe Le Boulanger: p.le-boulanger@o10ee.com Nicolas Bravin:n.bravin@o10ee.com http://o10ee.com/ http://code.google.com/p/lepton/
  • 2. Rennes – 20 mai 2014 Lepton •  C'est un système d'exploitation temps-réel pour des cibles embarquées aux ressources et puissances limitées. •  Cibles visées: Micro-contrôleurs Cortex M3/M4, ARM7 et ARM9… . •  3 axes de développements: • 1. Ressources matérielles limitées/basse consommation. • 2. Réutilisation/"softwarisation". • 3. Environnement de développement/mise au point.
  • 3. Rennes – 20 mai 2014 Qu’est-ce que c’est ?
  • 4. Rennes – 20 mai 2014 Lepton ๏ Historique ๏ Architecture interne ๏ Architecture firmware ๏ Empreinte mémoire ๏ Exemples ๏ Open source ๏ Conclusion
  • 5. Rennes – 20 mai 2014 Chauvin-Arnoux Présentation •  Société fondée en 1893, spécialisée dans le développement d instruments de mesure. •  Chauvin-Arnoux group : 6 centres de R&D, 6 sites de production: • Pôle tests et mesures (Chauvin-Arnoux, Metrix). • Pôle équipements électriques (Enerdis). • Pôle équipements thermiques (Pyro-contrôle) • Service réalisations spéciales (Enerdis).
  • 6. Rennes – 20 mai 2014 Chauvin-Arnoux Les produits Testeur RCD Micro-ohmmètre Mutltimètre 100000 points Testeur Multifonctions Répéteur météo Oscilloscope
  • 7. Rennes – 20 mai 2014 Architecture firmware spaghetti traitement des données gestion mesure gestion écran gestion sdcard gestion clavier gestion ethernet gestion rs232
  • 8. Rennes – 20 mai 2014 Architecture firmware Code des mécanismes de gestion de périphériques •  Extraction du code de l application ou du code de gestion de périphériques difficile voir impossible. •  Conséquence: réutilisation ou évolution compliquée.
  • 9. Rennes – 20 mai 2014 Chauvin-Arnoux la standardisation •  Une démarche de standardisation du logiciel et matériel est en route. L objectif: faciliter la mise au point des produits et raccourcir les délais de développement. •  Pour y parvenir, il est nécessaire de créer des modules logiciels et matériels standardisés : des « briques ».
  • 10. Rennes – 20 mai 2014 Chauvin-Arnoux la standardisation processeur matériels d interaction avec l utilisateur matériels de stockage de données. matériels de communication matériels mesures • écran • clavier • commutateur • … • eeprom • flash (nor, nand) • sdcard • … • rs232,rs485 • ethernet • wifi • zigbee • usb • … • traitement analogique • traitement numérique (DSP)
  • 11. Rennes – 20 mai 2014 De nouveaux besoins • De plus en plus de fonctionnalités évoluées sont exigées «Softwareisation». ➡ plus de moyen de communication: Ethernet, USB, wifi, Bluetooth (4.0 BLE), zigbee, Bus CAN, ... ➡ Plus de protocoles qu ils soient informatiques (TCP/UDP/IP V4 et V6, FTP, HTTP avec du cgi, ...), ou industriels (Ethercat, profinet,...). ➡ Interface graphique. • Coût croissant de leurs implémentations.
  • 12. Rennes – 20 mai 2014 Pourquoi un système d exploitation ? • Il permet : • De s abstraire des ressources matérielles et facilite ainsi le portage. • D accueillir des fonctionnalités évoluées et de les intégrer dans une architecture homogène. • De manipuler aisément ces fonctionnalités au moyen de fonctions génériques: périphériques d e/ s, aspects temps-réel et multitâche.
  • 13. Rennes – 20 mai 2014 Architecture firmware structurée traitement des données gestion mesure gestion écran gestion sdcard gestion clavier gestion ethernet gestion rs232 traitement des données gestion mesure gestion écran gestion sdcardgestion clavier gestion ethernet gestion rs232 système d exploitation
  • 14. Rennes – 20 mai 2014 Architecture firmware structurée Code des mécanismes de gestion de périphériques Code API gestion des flux de données Code Pile Réseau Code Système de fichiers Code générique de gestion des pilotes de périphériques d e/s Code de l application Code pilote UART Code pilote Ethernet Code pilote flash nand Systèmedexploitation
  • 15. Rennes – 20 mai 2014 Architecture firmware structurée Code de l application A Code de l application B Code API gestion des flux de données Code Pile Réseau Code Système de fichiers Code générique de gestion des pilotes de périphériques d e/s Code pilote UART Code pilote Ethernet Code pilote flash nand Systèmedexploitation BSP A Code API gestion des flux de données Code Pile Réseau Code Système de fichiers Code générique de gestion des pilotes de périphériques d e/s Systèmedexploitation Code pilote UART Code pilote Ethernet Code pilote flash nand BSP A réutilisation évolution ou nouveau développement réutilisation Code pilote UART Code pilote Ethernet Code pilote flash nand BSP B ou intégration nouveau BSP
  • 16. Rennes – 20 mai 2014 lepton objectifs • Accueil de briques logicielles. • Réutilisation de ces briques logicielles. • Amélioration de leur stabilité. • Disponibilité de solutions sur étagère. • Synergie entre les projets et les équipes.
  • 17. Rennes – 20 mai 2014 Lepton ๏ Historique ๏ Architecture interne ๏ Architecture firmware ๏ Empreinte mémoire ๏ Exemples ๏ Open source ๏ Conclusion
  • 18. Rennes – 20 mai 2014 Lepton Architecture • Abstraction vis-à-vis du noyau temps réel. • Gestion pilote de périphérique et streams. • «Piles» réseau • Systèmes de fichiers. • Appels et fonctions système POSIX. • Pseudo processus. processus shell pthread principal processus httpd pthread principal POSIX i2c eeprom module vfs/file system interface vfs kernel/vfs interfaces rootfs kernel i/o interface kernel mechanism LCD driver kalkal FAT yaffs i2c driver FTL module flash driver ethernet driver lwip IP stack uIP IP stack PPP module uart driver
  • 19. Rennes – 20 mai 2014 Noyau temps réel •  Lepton utilise un noyau temps réel sans le modifier. • embOS Segger • eCos • freeRTOS •  Le noyau temps réel apporte les services suivants: • Gestion de tâches: ordonnancement, synchronisation (mutex,semaphore), évènements. • Gestion des interruptions kalkal processus shell pthread principal processus httpd pthread principal POSIX i2c eeprom module vfs/file system interface vfs kernel/vfs interfaces rootfs kernel i/o interface kernel mechanism LCD driver FAT yaffs i2c driver FTL module flash driver ethernet driver lwip IP stack uIP IP stack PPP module uart driver
  • 20. Rennes – 20 mai 2014 Pilote de périphérique •  Modèle de pilote de périphérique (type bloc et caractère) •  Streams •  Visible dans le système de fichiers: /dev processus shell pthread principal processus httpd pthread principal POSIX vfs/file system interface vfs kernel/vfs interfaces rootfs kernel mechanism kalkal FAT yaffs lwip IP stack uIP IP stack i2c eeprom module kernel i/o interface LCD driver i2c driver FTL module flash driver ethernet driver PPP module uart driver
  • 21. Rennes – 20 mai 2014 Pile protocolaire IP • LWIP v1.3.2 • support IPv4 (IPv6 prochainement) • TCP/UDP • uIP du projet Contiki • support IPv4 et IPv6 (Pas de dual stack) • TCP/UDP • Accessible par: • Socket BSD. • read() et write(). lwip IP stack uIP IP stack processus shell pthread principal processus httpd pthread principal POSIX kernel mechanism kalkal vfs/file system interface vfs kernel/vfs interfaces rootfs FAT yaffs i2c eeprom module kernel i/o interface LCD driver i2c driver FTL module flash driver ethernet driver PPP module uart driver
  • 22. Rennes – 20 mai 2014 Système de Fichiers • Le système de fichiers est un élément central dans le fonctionnement de ce type d architecture • VFS Virtual File System ✓ rootfs ✓ ufs ✓ kofs ✓ FAT ✓ YAFFS vfs/file system interface vfs kernel/vfs interfaces rootfs FAT yaffs processus shell pthread principal processus httpd pthread principal POSIX i2c eeprom module kernel i/o interface kernel mechanism LCD driver kalkal i2c driver FTL module flash driver ethernet driver lwip IP stack uIP IP stack PPP module uart driver
  • 23. Rennes – 20 mai 2014 POSIX POSIX processus shell pthread principal processus httpd pthread principal i2c eeprom module vfs/file system interface vfs kernel/vfs interfaces rootfs kernel i/o interface kernel mechanism LCD driver kalkal FAT yaffs i2c driver FTL module flash driver ethernet driver lwip IP stack uIP IP stack PPP module uart driver • POSIX 1003.1-2008 Base Definition • open(), read(), write(), vfork()… • POSIX Realtime Extension •  Files de messages, semaphores, • POSIX Threads Extension • processus léger: pthread, mutex, conditions (moniteur).
  • 24. Rennes – 20 mai 2014 POSIX • POSIX standardise les appels systèmes et fonctions du système d exploitation. • Elle permet la réutilisation de briques logicielles entre systèmes d exploitation respectant ce standard.
  • 25. Rennes – 20 mai 2014 Pseudo Processus • Il permet: • une décomposition en «brique» de traitement élémentaire. • l utilisation de certains mécanismes de l approche UNIX. • Pas de «relogement» en mémoire. • Pas d espace mémoire réservé. processus shell pthread principal processus httpd pthread principal POSIX i2c eeprom module vfs/file system interface vfs kernel/vfs interfaces rootfs kernel i/o interface kernel mechanism LCD driver kalkal FAT yaffs i2c driver FTL module flash driver ethernet driver lwip IP stack uIP IP stack PPP module uart driver
  • 26. Rennes – 20 mai 2014 Pseudo processus 0 1 2 3 4 5 … 10 11 … table des descripteurs du processus pthread principal pthread secondaire pthread secondaire liste chainée des pthreads noyau associés au processus pthread principal pthread secondaire pthread secondaire 0 0 0 0 0 0 0 0 masque signaux temps-réel signaux temps-réel pendants … kernel_sigqueue signaux temps-réel empilés void(*__sa_handler)(int) void(*__sa_handler)(int) void(*__sa_handler)(int) void(*__sa_handler)(int) masque signaux standards 0 0 0 1 0 0 0 0signaux standards pendants void(*__sa_handler)(int) void(*ma_fonction)(int) void(*__sa_handler)(int) void(*__sa_handler)(int) processus
  • 27. Rennes – 20 mai 2014 Lepton ๏ Historique ๏ Architecture interne ๏ Architecture firmware ๏ Empreinte mémoire ๏ Exemples ๏ Open source ๏ Conclusion
  • 28. Rennes – 20 mai 2014 Architecture firmware fichier de configuration .XML sources lepton sources applications mklepton fichiers sources générés fichier firmware .elf Cible JTAG
  • 29. Rennes – 20 mai 2014 Architecture firmware le shell
  • 30. Rennes – 20 mai 2014 Architecture firmware Exemple 1 processus 2 pthread principal application /usr/sbin/lsh 0 1 entrée standard sortie standard processus 4 pthread principal application /usr/bin/ihm 0 1 entrée standard sortie standard /dev/kb /dev/fb/fb0 /dev/ttys0 /dev/ttys0 processus 5 pthread principal application /usr/bin/msr -i 2 -c 100 0 1 entrée standard sortie standard 4 /var/msr.o 8 write() read() lepton#2$ msr -i 2 -c 200 & /dev/ttys0 /dev/ttys0
  • 31. Rennes – 20 mai 2014 Architecture firmware Exemple 2 processus 2 pthread principal application /usr/sbin/lsh 0 1 entrée standard sortie standard processus 1 pthread principal application serveur http /usr/bin/net/mongoosed 7 8 sortie entrée 5 6 entrée sortie processus 3 pthread principal application /usr/sbin/msr -i 2 -c 10 0 1 entrée standard sortie standard read() write() read() read() write() write() tube FIFO tube FIFO connexion socket pipe() vfork() dup() close() execve() waitpid() vfork() execve() waitpid() tube FIFO
  • 32. Rennes – 20 mai 2014 Lepton ๏ Historique ๏ Architecture interne ๏ Architecture firmware ๏ Empreinte mémoire ๏ Exemples ๏ Open source ๏ Conclusion
  • 33. Rennes – 20 mai 2014 Empreinte mémoire • Empreinte mémoire (Cortex M3): • minimum: 150KB de code 27KB RAM • Shell et autres utilitaires comme ls, stty, ps… • POSIX (150 Fonctions et appels système supportés) • VFS et systèmes de fichiers: rootfs, ufs, kofs. • Pilote de périphérique (Liaisons séries) • Lignes de code • 250 000 lignes de code
  • 34. Rennes – 20 mai 2014 Empreinte mémoire •  Echo d un paquet UDP sur un socket BSD •  Pile uIP IPv6 •  Connexion PPP •  Liaison série à 115200 Bauds •  Cible: Cortex M3 512KB Flash •  Performance: 7% de CPU avec utilisation du lien PPP à 98%
  • 35. Rennes – 20 mai 2014 Lepton ๏ Historique ๏ Architecture interne ๏ Architecture firmware ๏ Empreinte mémoire ๏ Exemples ๏ Open source ๏ Conclusion
  • 36. Rennes – 20 mai 2014 Exemples de produits utilisant Lepton Testeur RCD Micro-ohmmètre Testeur Multifonctions Répéteur météo Oscilloscope
  • 37. Rennes – 20 mai 2014 Évolution et réutilisation lepton v1.0 v2.0 v3.0 v4.0 Arch 16bits Arch 16bits Arch 32bits Arch 32bits Arch 32bits Plusieurs appareils en cours de développement…
  • 38. Rennes – 20 mai 2014 Exemple d organisation du développement svn mantis application ca6116 cvs mantis serveur noyau équipe Metrix svn mantis application handscope équipe Chauvin-Arnoux Pôle test et mesure svn mantis application FREMM équipe Enerdis Réalisation spéciale équipe transversale Développement lepton
  • 39. Rennes – 20 mai 2014 Lepton ๏ Historique ๏ Architecture interne ๏ Architecture firmware ๏ Empreinte mémoire ๏ Exemples ๏ Open source ๏ Conclusion
  • 40. Rennes – 20 mai 2014 Briques open source Environnement de développement Linux Simulation OpenOCD + JTAG Linux
  • 41. Rennes – 20 mai 2014 Briques open source réutilisées dans lepton Mongoose Web Server FTP server Troll-FTPd for eCos Nano-X Microwindows FLNX: FLTK pour Nano-X eCos noyau temps réel
  • 42. Rennes – 20 mai 2014 Lepton en Open Source Noyau lepton: structure «officielle» d intégration et de développement Entreprises Organismes/laboratoires de recherche Communauté open source
  • 43. Rennes – 20 mai 2014 Lepton ๏ Historique ๏ Architecture interne ๏ Architecture firmware ๏ Empreinte mémoire ๏ Exemples ๏ Open source ๏ Conclusion
  • 44. Rennes – 20 mai 2014 Résumé •  Lepton met à disposition des concepts avancés que l on retrouve sur des systèmes d exploitation plus volumineux. •  Il permet de faire face aux besoins de fonctionnalités évoluées (communication, interface utilisateur, stockage). •  Il est basé sur une architecture modulaire avec des interfaces et mécanismes standardisés qui offrent une plus grande souplesse de réutilisation et de portage. •  Il est disponible en open source.
  • 45. Rennes – 20 mai 2014 La place de Lepton
  • 46. Rennes – 20 mai 2014 Bien commencer ! http://code.google.com/p/lepton/ http://code.google.com/p/lepton/source/browse/docs/INSTALL http://code.google.com/p/lepton/source/browse/docs/START http://code.google.com/p/lepton/source/browse/docs/AVAILABLE_POSIX
  • 47. Rennes – 20 mai 2014 Prochaines évolutions •  Plus grande intégration dans un environnement de développement. •  Sécurité/sureté: Protection mémoire MPU, … . •  Gestion avancée de la consommation énergétique: Tickless,… . •  Plus de micro-contrôleurs supportés. •  «Véritable» processus (avec du XIP). •  Développement d un noyau temps réel dédié. •  Utilisation de LLVM •  …
  • 48. Rennes – 20 mai 2014 Merci de votre attention.