SlideShare une entreprise Scribd logo

OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)

Pôle Systematic Paris-Region
Pôle Systematic Paris-Region
Pôle Systematic Paris-RegionPôle Systematic Paris-Region

Nous présenterons le système d'exploitation RTEMS, ses applications passées et actuelles ainsi que les travaux en cours pour son utilisation dans l'IoT professionnel.

OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)

1  sur  22
Télécharger pour lire hors ligne
1RTEMS/IoT
RTEMS / IoT
Pierre FICHEUX (pierre.ficheux@smile.fr)
Mai 2018
2RTEMS/IoT
Présentation PF
● Ingénieur Arts et Métiers + Sup'Aéro
● Utilisateur de logiciels libres depuis 1989
● Utilisateur de Linux depuis 1992
● Auteur des 5 éditions de l'ouvrage « Linux embarqué »
(Eyrolles), dernière version le 23/11/2017
● Auteur GLMF, rédacteur en chef de (feu) Open Silicium
● CTO Smile ECS, enseignant EPITA, etc.
3RTEMS/IoT
Les livres blancs
4RTEMS/IoT
RTEMS « in a nutshell »
● RTEMS = Real Time Executive for Multiprocessor Systems
● Initialement « Missile Systems » puis « Military Systems »
● Exécutif temps réel embarqué diffusé sous GPL (avec linking
exception)
● Application « liée » au noyau → un processus mais plusieurs
threads
● Nombreuses architectures matérielles supportées (du Leon 3 à la
Raspberry Pi, BBB ou QEMU/x86)
● API TR dédiée ou bien POSIX
● Utilise la chaîne de compilation GNU sur Linux, Windows, Solaris
● Approche statique → </malloc>
● Actuellement version 5 (Git)
● Référence industrielle (ESA, NASA, Astrium)
5RTEMS/IoT
Fonctionnalités optionnelles
6RTEMS/IoT
Histoire
● 1988 : premiers développements par OAR sur demande de l'US
Army Missile Command
● 1992 : première utilisation non militaire, préféré à pSOS+ par SSC
(Superconducting Super Collider)
● 1992 : utilisation des outils GNU
● 1994 : code source publié par l'US Army en FTP
● 1997 : validation de GNAT/RTEMS
● 1998 : portage de la pile TCP/IP FreeBSD sur RTEMS
● 1998 : La société OAR reprend la maîtrise du développement (Joel
Sherill)
● 2004 : démarrage de http://wiki.rtems.org
● 2006 - 2009 : utilisation dans diverses missions spatiales (Dawn,
MRO, ESA/Herschel & Plank, etc.)
● 2012 : sonde NASA Curiosity (mars) → telecom
● 2018 : Parker Solar Probe

Recommandé

Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?Pierre-jean Texier
 
AsteroidOS: plateforme ouverte pour smartwatches
AsteroidOS: plateforme ouverte pour smartwatchesAsteroidOS: plateforme ouverte pour smartwatches
AsteroidOS: plateforme ouverte pour smartwatchesFlorent Revest
 
AsteroidOS: la liberté sur votre poignet
AsteroidOS: la liberté sur votre poignetAsteroidOS: la liberté sur votre poignet
AsteroidOS: la liberté sur votre poignetFlorent Revest
 
Solutions temps réel sous linux
Solutions temps réel sous linuxSolutions temps réel sous linux
Solutions temps réel sous linuxembedded-linux-bdx
 
NEOS Series Brochure 2014
NEOS Series Brochure 2014NEOS Series Brochure 2014
NEOS Series Brochure 2014Guilhem Demilly
 
NEO XL Series Brochure 2014
NEO XL Series Brochure 2014NEO XL Series Brochure 2014
NEO XL Series Brochure 2014Guilhem Demilly
 

Contenu connexe

Tendances

Tendances (6)

Kit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIYKit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIY
 
Test materiel ni c rio-9068
Test materiel   ni c rio-9068Test materiel   ni c rio-9068
Test materiel ni c rio-9068
 
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
 
Tv21 02-07 linuxembedded
Tv21 02-07 linuxembeddedTv21 02-07 linuxembedded
Tv21 02-07 linuxembedded
 
Osfr summit paris v2
Osfr summit paris v2Osfr summit paris v2
Osfr summit paris v2
 
NEO8000e Brochure 2014
NEO8000e Brochure 2014NEO8000e Brochure 2014
NEO8000e Brochure 2014
 

Similaire à OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)

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
 
Prez Administration Réseau 1 (ICDN 1).pdf
Prez Administration Réseau 1 (ICDN 1).pdfPrez Administration Réseau 1 (ICDN 1).pdf
Prez Administration Réseau 1 (ICDN 1).pdfLeandre Cof's Yeboue
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésAlexandre LAHAYE
 
Hacking your Home @bdx.io
Hacking your Home @bdx.ioHacking your Home @bdx.io
Hacking your Home @bdx.iolaurenthuet
 
Formation Bus de Terrain _Partie 3_ Ethernet Industriel pour Valve Terminals
Formation Bus de Terrain  _Partie 3_  Ethernet Industriel pour Valve TerminalsFormation Bus de Terrain  _Partie 3_  Ethernet Industriel pour Valve Terminals
Formation Bus de Terrain _Partie 3_ Ethernet Industriel pour Valve TerminalsWojciech GOMOLKA
 
Formation Bus de Terrain _Partie 3_5 _SERCOS III
Formation Bus de Terrain _Partie 3_5 _SERCOS IIIFormation Bus de Terrain _Partie 3_5 _SERCOS III
Formation Bus de Terrain _Partie 3_5 _SERCOS IIIWojciech GOMOLKA
 
CoAP master presentaion
CoAP master presentaionCoAP master presentaion
CoAP master presentaionTarik Sefiri
 
Arduino saison 1-20180526
Arduino saison 1-20180526Arduino saison 1-20180526
Arduino saison 1-20180526FrancisGILLET
 
Sizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsSizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsPhilippeBrogi
 
C4 Réseaux : Couche reseau
C4 Réseaux : Couche reseauC4 Réseaux : Couche reseau
C4 Réseaux : Couche reseauPRONETIS
 
IPv6 au Clusir-Est
IPv6 au Clusir-EstIPv6 au Clusir-Est
IPv6 au Clusir-EstJohan Moreau
 
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Smile I.T is open
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Hajer Dahech
 
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
 
Chapitre 6 - Protocoles TCP/IP, UDP/IP
Chapitre 6  - Protocoles TCP/IP, UDP/IPChapitre 6  - Protocoles TCP/IP, UDP/IP
Chapitre 6 - Protocoles TCP/IP, UDP/IPTarik Zakaria Benmerar
 

Similaire à OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS) (20)

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
 
Prez Administration Réseau 1 (ICDN 1).pdf
Prez Administration Réseau 1 (ICDN 1).pdfPrez Administration Réseau 1 (ICDN 1).pdf
Prez Administration Réseau 1 (ICDN 1).pdf
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarqués
 
Hacking your Home @bdx.io
Hacking your Home @bdx.ioHacking your Home @bdx.io
Hacking your Home @bdx.io
 
Formation Bus de Terrain _Partie 3_ Ethernet Industriel pour Valve Terminals
Formation Bus de Terrain  _Partie 3_  Ethernet Industriel pour Valve TerminalsFormation Bus de Terrain  _Partie 3_  Ethernet Industriel pour Valve Terminals
Formation Bus de Terrain _Partie 3_ Ethernet Industriel pour Valve Terminals
 
Formation Bus de Terrain _Partie 3_5 _SERCOS III
Formation Bus de Terrain _Partie 3_5 _SERCOS IIIFormation Bus de Terrain _Partie 3_5 _SERCOS III
Formation Bus de Terrain _Partie 3_5 _SERCOS III
 
CoAP master presentaion
CoAP master presentaionCoAP master presentaion
CoAP master presentaion
 
Arduino saison 1-20180526
Arduino saison 1-20180526Arduino saison 1-20180526
Arduino saison 1-20180526
 
Systeme embarque
Systeme embarqueSysteme embarque
Systeme embarque
 
LA TELEGESTION-7.ppt
LA TELEGESTION-7.pptLA TELEGESTION-7.ppt
LA TELEGESTION-7.ppt
 
Plateformes embarquées
Plateformes embarquéesPlateformes embarquées
Plateformes embarquées
 
Sizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsSizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloads
 
M1.3.pdf
M1.3.pdfM1.3.pdf
M1.3.pdf
 
C4 Réseaux : Couche reseau
C4 Réseaux : Couche reseauC4 Réseaux : Couche reseau
C4 Réseaux : Couche reseau
 
IPv6 au Clusir-Est
IPv6 au Clusir-EstIPv6 au Clusir-Est
IPv6 au Clusir-Est
 
cours-gratuit.com--id-5598.pdf
cours-gratuit.com--id-5598.pdfcours-gratuit.com--id-5598.pdf
cours-gratuit.com--id-5598.pdf
 
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32
 
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
 
Chapitre 6 - Protocoles TCP/IP, UDP/IP
Chapitre 6  - Protocoles TCP/IP, UDP/IPChapitre 6  - Protocoles TCP/IP, UDP/IP
Chapitre 6 - Protocoles TCP/IP, UDP/IP
 

Plus de Pôle Systematic Paris-Region

OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...Pôle Systematic Paris-Region
 
OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a ...
OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a ...OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a ...
OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a ...Pôle Systematic Paris-Region
 
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...Pôle Systematic Paris-Region
 
OSIS19_Cloud : Performance and power management in virtualized data centers, ...
OSIS19_Cloud : Performance and power management in virtualized data centers, ...OSIS19_Cloud : Performance and power management in virtualized data centers, ...
OSIS19_Cloud : Performance and power management in virtualized data centers, ...Pôle Systematic Paris-Region
 
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...Pôle Systematic Paris-Region
 
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...Pôle Systematic Paris-Region
 
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...Pôle Systematic Paris-Region
 
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick MoyOsis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick MoyPôle Systematic Paris-Region
 
Osis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMAOsis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMAPôle Systematic Paris-Region
 
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur BittorrentOsis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur BittorrentPôle Systematic Paris-Region
 
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riotOSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riotPôle Systematic Paris-Region
 
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...Pôle Systematic Paris-Region
 
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...Pôle Systematic Paris-Region
 
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...Pôle Systematic Paris-Region
 
PyParis 2017 / Un mooc python, by thierry parmentelat
PyParis 2017 / Un mooc python, by thierry parmentelatPyParis 2017 / Un mooc python, by thierry parmentelat
PyParis 2017 / Un mooc python, by thierry parmentelatPôle Systematic Paris-Region
 
PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...
PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...
PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...Pôle Systematic Paris-Region
 
PyParis 2017 / Unicode and bytes demystified, by Boris Feld
PyParis 2017 / Unicode and bytes demystified, by Boris FeldPyParis 2017 / Unicode and bytes demystified, by Boris Feld
PyParis 2017 / Unicode and bytes demystified, by Boris FeldPôle Systematic Paris-Region
 

Plus de Pôle Systematic Paris-Region (20)

OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
 
OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a ...
OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a ...OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a ...
OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a ...
 
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
 
OSIS19_Cloud : Performance and power management in virtualized data centers, ...
OSIS19_Cloud : Performance and power management in virtualized data centers, ...OSIS19_Cloud : Performance and power management in virtualized data centers, ...
OSIS19_Cloud : Performance and power management in virtualized data centers, ...
 
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
 
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
 
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
 
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick MoyOsis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
 
Osis18_Cloud : Pas de commun sans communauté ?
Osis18_Cloud : Pas de commun sans communauté ?Osis18_Cloud : Pas de commun sans communauté ?
Osis18_Cloud : Pas de commun sans communauté ?
 
Osis18_Cloud : Projet Wolphin
Osis18_Cloud : Projet Wolphin Osis18_Cloud : Projet Wolphin
Osis18_Cloud : Projet Wolphin
 
Osis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMAOsis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMA
 
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur BittorrentOsis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
 
Osis18_Cloud : Software-heritage
Osis18_Cloud : Software-heritageOsis18_Cloud : Software-heritage
Osis18_Cloud : Software-heritage
 
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riotOSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
 
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
 
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
 
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
 
PyParis 2017 / Un mooc python, by thierry parmentelat
PyParis 2017 / Un mooc python, by thierry parmentelatPyParis 2017 / Un mooc python, by thierry parmentelat
PyParis 2017 / Un mooc python, by thierry parmentelat
 
PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...
PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...
PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...
 
PyParis 2017 / Unicode and bytes demystified, by Boris Feld
PyParis 2017 / Unicode and bytes demystified, by Boris FeldPyParis 2017 / Unicode and bytes demystified, by Boris Feld
PyParis 2017 / Unicode and bytes demystified, by Boris Feld
 

Dernier

Débrief CES 2024 by Niji
Débrief CES 2024 by NijiDébrief CES 2024 by Niji
Débrief CES 2024 by NijiNiji
 
JDN 2023 les applications de l'impression 3D.pdf
JDN 2023 les applications de l'impression 3D.pdfJDN 2023 les applications de l'impression 3D.pdf
JDN 2023 les applications de l'impression 3D.pdfAlexandre Contat
 
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdfConteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdfHamida Rebai Trabelsi
 
Pour une Autorité française de l’Intelligence Artificielle (IA)
Pour une Autorité française de l’Intelligence Artificielle (IA)Pour une Autorité française de l’Intelligence Artificielle (IA)
Pour une Autorité française de l’Intelligence Artificielle (IA)benj_2
 
Shelly Qubini Dry Contact Module Z-Wave Manual
Shelly Qubini Dry Contact Module Z-Wave ManualShelly Qubini Dry Contact Module Z-Wave Manual
Shelly Qubini Dry Contact Module Z-Wave ManualDomotica daVinci
 
Wave_Shutter_user_guide_multilang_print_V3.pdf
Wave_Shutter_user_guide_multilang_print_V3.pdfWave_Shutter_user_guide_multilang_print_V3.pdf
Wave_Shutter_user_guide_multilang_print_V3.pdfDomotica daVinci
 

Dernier (6)

Débrief CES 2024 by Niji
Débrief CES 2024 by NijiDébrief CES 2024 by Niji
Débrief CES 2024 by Niji
 
JDN 2023 les applications de l'impression 3D.pdf
JDN 2023 les applications de l'impression 3D.pdfJDN 2023 les applications de l'impression 3D.pdf
JDN 2023 les applications de l'impression 3D.pdf
 
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdfConteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
 
Pour une Autorité française de l’Intelligence Artificielle (IA)
Pour une Autorité française de l’Intelligence Artificielle (IA)Pour une Autorité française de l’Intelligence Artificielle (IA)
Pour une Autorité française de l’Intelligence Artificielle (IA)
 
Shelly Qubini Dry Contact Module Z-Wave Manual
Shelly Qubini Dry Contact Module Z-Wave ManualShelly Qubini Dry Contact Module Z-Wave Manual
Shelly Qubini Dry Contact Module Z-Wave Manual
 
Wave_Shutter_user_guide_multilang_print_V3.pdf
Wave_Shutter_user_guide_multilang_print_V3.pdfWave_Shutter_user_guide_multilang_print_V3.pdf
Wave_Shutter_user_guide_multilang_print_V3.pdf
 

OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)

  • 1. 1RTEMS/IoT RTEMS / IoT Pierre FICHEUX (pierre.ficheux@smile.fr) Mai 2018
  • 2. 2RTEMS/IoT Présentation PF ● Ingénieur Arts et Métiers + Sup'Aéro ● Utilisateur de logiciels libres depuis 1989 ● Utilisateur de Linux depuis 1992 ● Auteur des 5 éditions de l'ouvrage « Linux embarqué » (Eyrolles), dernière version le 23/11/2017 ● Auteur GLMF, rédacteur en chef de (feu) Open Silicium ● CTO Smile ECS, enseignant EPITA, etc.
  • 4. 4RTEMS/IoT RTEMS « in a nutshell » ● RTEMS = Real Time Executive for Multiprocessor Systems ● Initialement « Missile Systems » puis « Military Systems » ● Exécutif temps réel embarqué diffusé sous GPL (avec linking exception) ● Application « liée » au noyau → un processus mais plusieurs threads ● Nombreuses architectures matérielles supportées (du Leon 3 à la Raspberry Pi, BBB ou QEMU/x86) ● API TR dédiée ou bien POSIX ● Utilise la chaîne de compilation GNU sur Linux, Windows, Solaris ● Approche statique → </malloc> ● Actuellement version 5 (Git) ● Référence industrielle (ESA, NASA, Astrium)
  • 6. 6RTEMS/IoT Histoire ● 1988 : premiers développements par OAR sur demande de l'US Army Missile Command ● 1992 : première utilisation non militaire, préféré à pSOS+ par SSC (Superconducting Super Collider) ● 1992 : utilisation des outils GNU ● 1994 : code source publié par l'US Army en FTP ● 1997 : validation de GNAT/RTEMS ● 1998 : portage de la pile TCP/IP FreeBSD sur RTEMS ● 1998 : La société OAR reprend la maîtrise du développement (Joel Sherill) ● 2004 : démarrage de http://wiki.rtems.org ● 2006 - 2009 : utilisation dans diverses missions spatiales (Dawn, MRO, ESA/Herschel & Plank, etc.) ● 2012 : sonde NASA Curiosity (mars) → telecom ● 2018 : Parker Solar Probe
  • 7. 7RTEMS/IoT Show me the code ! #include <stdio.h> #include <stdlib.h> void *POSIX_Init() { printf ("Hello RTEMS (POSIX)n"); } #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER #define CONFIGURE_MAXIMUM_POSIX_THREADS 1 #define CONFIGURE_POSIX_INIT_THREAD_TABLE #define CONFIGURE_INIT #include <rtems/confdefs.h>
  • 10. 10RTEMS/IoT Adaptation EADS/Astrium ● VxWorks préféré par les experts internes ! ● Qualification standard espace ECSS (European Cooperation for Space Standardization) ● Basé sur la versions 4.6.1 (380000 lignes) ● Sélection de certaines fonctions → bibliothèque produit (4 % du code!) ● Règles de test RuleChecker (43) dérivées de MISRA C
  • 11. 11RTEMS/IoT IoT, so far away from RTEMS...
  • 12. 12RTEMS/IoT IoT « grand public » ● Drones, consumer, TV, Infotainment, etc. ● Production à bas coût ● Focus sur le matériel plus que sur le logiciel (Asie) ● Logiciel de qualité variable disponible sur GitHub ● Exemple du CrazyFlie → stage AdaCore/EPITA pour écriture d’un nouveau firmware en SPARK → blog « How to prevent drone crashes using SPARK » ● Durcissement des règles pour les pilotes de drones (ULM) ● Approche totalement différente en IoT industriel ● Exemple Delair (drone professionnels) – Conception stricte du HW (Eukrea) – Firmware aéro + Linux (pour la communication)
  • 13. 13RTEMS/IoT IoT(s) ● Objet simple de type capteur – Micro-contrôleur (sans MMU) – Logiciel « bare metal » ou OS léger type Contiki, RIOT ● Objet complexe → « edge computing » – CPU avec MMU (32 bits ou +) – OS Linux, Android, Tizen Parrot flower power (µC) “Tesla car is a connected computer on wheels !”
  • 14. 14RTEMS/IoT Protocoles pour l'IoT ● L'IoT utilise un certain nombre de protocoles ● Inter-opérabilités de systèmes très différents ● Protocoles classiques – Wi-Fi / Ethernet – Bluetooth (LE) ● Protocoles dédiées – ZigBee – 6LoWPAN – Thread – Z-Wave – CoAP – MQTT – LoRa – Sigfox
  • 15. 15RTEMS/IoT IPv6 nécessaire à l’IoT ● Adresses sur 128 bits au lieu de 32 bits – 2128 adresses au lieu de 4,294,967,296 – Étoiles observables dans le ciel → 252 – Approximativement 506 102 adresses par m2 sur terre – Environ 5 × 1028 adresses pour chaque habitant de la planète ● L'entête passe de 20 octets à 40 octets :-( ● Auto-configuration = génération d'une adresse IPv6 ● Récupération adresse d’un nœud via NDP (Neighbor Discovery Protocol, RFC 4861 2007) ● Découverte des voisins – résolution IPv6 → MAC (comme ARP avec IPv4) – 00:17:F2:EA:59:46 → FE80::217:F2FF:FEEA:5946
  • 16. 16RTEMS/IoT Norme 802.15.4 ● Protocole de communication standard IEEE pour les réseaux sans fil ● Dédié au LR-WPAN → Low-Rate Wireless Personal Area Network) ● Faible consommation ● Faible débit ● Faible portée ● Intégré aux principales cibles IoT (SensorTag) ● Utilisé dans différentes implémentations : – 6LoWPAN (ouvert, RFC 4919/4944) – ZigBee (propriétaire)
  • 17. 17RTEMS/IoT 6LoWPAN ● LoWPAN = IPv6 LoW Power Wireless Area Networks ● Nom d'un groupe de travail de l'IETF ● Compression d'en-tête de paquets IPv6 + fragmentation des trames ● Permet a ces paquets de transiter sur des réseaux de type 802.15.4 – 802.15.4 → payload de 128 octets – IPv6 impose une MTU (Maximum Transmission Unit) minimal de 1280 octets (68 pour IPv4)
  • 18. 18RTEMS/IoT « Motes » & « border router »
  • 19. 19RTEMS/IoT RTEMS/IoT ● PFE(E) EPITA/GISTRE 2019 ● Choix d’une ou plusieurs plate-forme(s) de référence ● Étude des couches réseau, démonstrateur ● Ajout 6LoWPAN – Contiki (µIPv6) BSD *** – emb::6 BSD – FreeRTOS MIT – TinyOS (blip) BSD ● Démonstration avec border router 6LBR (basé sur Contiki) ● Sujets annexes – Validation et « certification » (cf ECSS) – Intégration AWS (GreenGrass, utilise FreeRTOS)
  • 20. 20RTEMS/IoT Trampoline / Trampogen ? ● OS compatible Autosar / OSEK (IRCCyN / LS2N) ● Configuration statique par #ifdef ● Création d’un générateur de code ● Solution libre et accessible à tous ● Projet David Garriou (Smile)
  • 21. 21RTEMS/IoT Conclusions, les OS IoT ● Contiki pour les capteurs très légers (8 bits) → protothread ● RIOT, le « Linux de l’IoT » (POSIX) ● Linux/Yocto pour l’edge computing ● RTEMS pour l’IoT sûr (safety) ? « Very cool! I wonder how we can let the community know about this. For sure, please include an RSB recipe and examples in your plans so this is easy to reproduce. Would it make sense to make the idea an RTEMS ticket? We have a pattern for what used to be Open Projects in the wiki. » Joel Sherill (OAR)
  • 22. 22RTEMS/IoT Références ● Site RTEMS https://www.rtems.org ● Parker Solar Probe http://parkersolarprobe.jhuapl.edu/index.php#the-mission ● Crash drone https://blog.adacore.com/how-to-prevent-drone-crashes-using-spark ● Société Delair https://delair.aero ● Certificat aptitude http://dronebylukas.fr/produit/formation-preparation-certificat-aptitude-theorique-pilote-ulm ● Projet 6LBR https://github.com/cetic/6lbr/wiki ● Trampoline OS https://github.com/TrampolineRTOS/trampoline