SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
C. Charreyre




                 Using Linux for industrial
                         projects
                   Return of experience
  4th European
 Congress ERTS
EMBEDDED REAL
TIME SOFTWARE       Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
License


                         Attribution-Noncommercial-Share Alike 2.0 France
                 You are free:
                        to Share - to copy, distribute, display, and perform the work

                        to Remix - to make derivative works


                 Under the following conditions:
                        Attribution. You must attribute the work in the manner specified by the author or licensor (but
                        not in any way that suggests that they endorse you or your use of the work).

                        Non commercial. You may not use this work for commercial purposes.

                        Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting
                        work only under the same or similar license to this one.

                 For any reuse or distribution, you must make clear to others the license terms of this work. The best
  4th European   way to do this is with a link to this web page.
 Congress ERTS
                 Any of the above conditions can be waived if you get permission from the copyright holder.
EMBEDDED REAL
TIME SOFTWARE                     Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
CIO Informatique Industrielle

                 Company dedicated to industrial software development
                 Incorporated in 1990
                 15 engineers to help customers on embedded and real time
                 software
                 Great investment on Linux technologies since 2000
                 Competence center created in 2001

                 Located in St Etienne and Marseille

                 Member of Libertis, association of free software service
                 companies in PACA


  4th European
 Congress ERTS                                         http://www.libertis.org
EMBEDDED REAL
TIME SOFTWARE              Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
Linux on the embedded market

                  Linux is a fast growing actor on the embedded market
                  It is know representing about 50% of the market




                                                           Source
                                     Embedded Linux Market Survey 2007 LinuxDevices.com
  4th European
 Congress ERTS
EMBEDDED REAL
TIME SOFTWARE               Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
Linux on the embedded market

                  The Arm processor is the most used architecture with Linux
                  Linux + Arm is a great solution for low price mass market devices




                                                       Source
                                 Embedded Linux Market Survey 2007 LinuxDevices.com


  4th European
 Congress ERTS
EMBEDDED REAL
TIME SOFTWARE               Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
Linux at CIO
                 Typical projects :
                      Software developments for industrials or aerospace/defense
                      With real time and embedded characteristics

                 OS used until 2000 :
                      Legacy RTOS like OS9, VxWorks, QNX etc....

                 Investment on Linux technologies in 2000
                 A step by step approach :
                      Use of Linux distribution on PC (desktop, PC104, SBC, Compact PCI)
                      Home made reduced Linux on same architecture
                      Use of real time extensions to get same performances as legacy RTOS
                      Use on other architectures used in projects : PowerPC, Arm
  4th European
 Congress ERTS   We suggest such an approach to new adopters (from easiest to
EMBEDDED REAL    most difficult)
TIME SOFTWARE               Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
Linux for embedded device

                 Requirements of embedded projects :
                     Processor architecture can be Intel, but also PPC, Arm, microcontroller ...
                          Linux available on many architectures used in embedded devices : X86,
                          Freescale, Arm, SuperH, AVR32, Blackfin ... (24 arch. In 2.6.23)
                     Low memory and storage requirements
                          Linux distributions are huge (Gigabytes), and require Megabytes of memory
                          The good approach is to build a reduced embedded image, with the precise
                          requirements of the project
                          By rebuilding a dedicated embedded image, one can reach sizes like 4 MB of
                          mass storage and 8 MB of memory
                     Flash support
                          Compact Flash or Disk on Module emulate IDE, managed by IDE driver
                          NAND or NOR flash managed by the MTD framework, with a lot of chipsets
                          supported
  4th European
 Congress ERTS
EMBEDDED REAL
TIME SOFTWARE              Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
Linux for embedded device

                 Requirements of embedded projects :
                     Quick boot
                          Boot time = Bootloader (+ BIOS if X86) + Linux startup
                          Bootloader must be tuned to reduce its time
                          Linux startup can range from few seconds to few tens of seconds depending on
                          processor speed and quantity of services, for embedded images
                     Switch off without shutdown
                          Journaling capabilities of Linux filesystems reduce risks, but are not sufficient in
                          embedded world
                          The solution is to use RAM disks as the root of the file system : in case of file
                          system corruption, the copy in RAM is corrupted, not the file system itself

                 With an adequate strategy, Linux can deal with the requirements
                 of embedded devices
  4th European
 Congress ERTS
EMBEDDED REAL
TIME SOFTWARE              Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
An embedded project
                                              Redundancy
                                                device




                                                       duplication




                                                                              filtering


                                         normal flux
                                         duplicated flux



                 Customer requirements :
                     Complete access to source code
                     Different hardware and form factor
                     Performant and reliable TCP/IP stack
  4th European
 Congress ERTS       Quick availability after power on
EMBEDDED REAL
TIME SOFTWARE              Using Linux in industrial projects        -   ERTS 2008    -   February 1st, 2008
An embedded project

                 Linux chosen because :
                     Linux and basic components governed by GPL, the sources of the
                     developed application itself were also given to the customer
                     Linux available on first architectures (X86 on Compact PCI and PPC on
                     VME)
                     Linux TCP/IP stack are performant (most Web servers run under Linux)
                     Very quick availability after power on thanks to very reduced dedicated
                     image

                 The project has been delivered successfully for the first 2
                 architectures, and it will be easy to swap to new ones
                 The customer performs later evolutions by itself


  4th European
 Congress ERTS
EMBEDDED REAL
TIME SOFTWARE              Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
Real time with Linux
                 Types of project :
                      Embedded only : Linux OK
                      Soft real time : Linux OK with adapted strategy
                      Hard real time : Linux not OK, but Linux + Real time extension OK

                 Linux is a general purpose OS, the scheduler's mission is to
                 distribute the processor to all processes on a fair base in a large
                 time scale (no fixed priority).
                 Soft real time is accessible through the scheduler API :
                      « Real time » class implements same scheduling principles than RTOS
                      There is no guarantee on interrupt reaction duration, due to the internal
                      structure of kernel, so hard real time not possible
                      Kernel 2.6 can be preemptible, but large sections of the kernel have
                      interrupt masked or preemption disabled, so even 2.6 is not hard real time
  4th European   Preemptible kernel 2.6 + real time class scheduling → Soft real
 Congress ERTS   time
EMBEDDED REAL
TIME SOFTWARE               Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
Real time with Linux

                 Hard real time needs a real time extension :
                      RTLinux : GPL, then commercial product, now bought by WindRiver
                      RTAI : GPL
                      Xenomai : GPL, skins available

                 Extension implemented as kernel modules
                 Extension implements a RTOS
                 Application shared between Linux (not real time part) and
                 extension (real time part) with IPC between the 2 worlds.
                 In the real time part, no access to Linux system calls nor drivers
                 (a real time driver framework : RTDM)
                 Possibility to develop the real time part as :
  4th European        Full kernel modules
 Congress ERTS
                      Linux processes managed by the real time extension
EMBEDDED REAL
TIME SOFTWARE               Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
A real time project

                 The project is to develop a data recorder for high end
                 automotives (to record data on vehicle's buses).
                 The hardware is built with PC104 board, with CPU, CAN board
                 and a DSP board.
                 Real time requirements : precise time stamp of data, full
                 determinism in exchanges between CPU and DSP
                 Kernel 2.4 choosen, due to Linux drivers availability, and
                 conservative approach when project was launched
                 RTAI used for real time purposes
                 CIO's job :
                      Soft choices
                      Linux + RTAI integration
  4th European        Port of Linux drivers towards RTAI
 Congress ERTS
                      Application skeleton development
EMBEDDED REAL
TIME SOFTWARE               Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
Porting from RTOS to Linux

                 Why porting from RTOS to Linux :
                     Replacing old hardware by newest one, not yet supported by RTOS
                     Avoiding licence costs ....

                 To avoid important costs, it is interessant to port as much as
                 possible at the OS level :
                     System calls remapping
                     Compatibility library

                 The goal is to change the applications sources the less possible,
                 to avoid development and revalidation costs
                 A project example : port of a SNMP stack from 68K / OS9
                 towards PowerPC / Linux
                 This port was a mock up for a larger application
  4th European
 Congress ERTS
EMBEDDED REAL
TIME SOFTWARE              Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
Porting from RTOS to Linux

                 Main difficulties encountered :
                     Compiler change reveals problems in the original sources. Gnu chain
                     makes much more control than original OS9 compiler :
                          Quality problems in original sources, syntax errors ....
                          Bad data alignment of structure members
                          Consequence : a lot of unforeseen work to correct the sources
                     Memory model :
                          OS9 processes shared data structures : members of shared data were pointers
                          No problem on OS9 with flat memory model
                          Impossible with Linux with segmented memory through MMU
                          Solved by using the shared memory API, with fixed mapping of the shared
                          memory at same address for all processes
                     Use of signals and alarms :
                          Cooperation between OS9 process made with a lot of signals
  4th European
 Congress ERTS            Linux offers very few signals available to users
EMBEDDED REAL             Development of an emulation API of OS signals based on SIGUSR1
TIME SOFTWARE              Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
Porting from RTOS to Linux

                 Main difficulties encountered :
                      Use of signals and alarms :
                           A lot of alarms running in parallel in the original OS9 application
                           Linux is not designed to have such an architecture
                           Solved by developping an alarm emulation API based on dedicated alarm threads

                 Other system aspects where quite easy to remap with wrappers
                 (through include files)
                 The port was finally achieved successfully. It demonstrated the
                 concept could be extended to the whole application
                 3 types of difficulties :
                      Relative easy remapping of system calls (the majority)
                      More challenging points solved by emulation library (signals, alarms)
  4th European
 Congress ERTS        Most difficult points : memory model and original sources difficulties
EMBEDDED REAL         triggered by compiler change.
TIME SOFTWARE               Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008
More information

                 Web site http://www.cioinfoindus.fr
                 Contact us :
                     Tél : +33 4 95 05 19 41
                     Mail : christian.charreyre@cioinfoindus.fr




  4th European
 Congress ERTS
EMBEDDED REAL
TIME SOFTWARE              Using Linux in industrial projects   -   ERTS 2008   -   February 1st, 2008

Contenu connexe

Tendances

Jython for embedded software validation
Jython for embedded software validationJython for embedded software validation
Jython for embedded software validationPyCon Italia
 
Eric Theis resume61.1
Eric Theis resume61.1Eric Theis resume61.1
Eric Theis resume61.1Eric Theis
 
A timeline for embedded Linux
A timeline for embedded LinuxA timeline for embedded Linux
A timeline for embedded LinuxChris Simmonds
 
Porting linux to a new architecture
Porting linux to a new architecturePorting linux to a new architecture
Porting linux to a new architectureKALRAY
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorLinaro
 
Porting linux on ARM
Porting linux on ARMPorting linux on ARM
Porting linux on ARMSatpal Parmar
 
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...Anne Nicolas
 
RISC-V 30906 hex five multi_zone iot firmware
RISC-V 30906 hex five multi_zone iot firmwareRISC-V 30906 hex five multi_zone iot firmware
RISC-V 30906 hex five multi_zone iot firmwareRISC-V International
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxAnne Nicolas
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureBruno Cornec
 

Tendances (13)

Jython for embedded software validation
Jython for embedded software validationJython for embedded software validation
Jython for embedded software validation
 
Eric Theis resume61.1
Eric Theis resume61.1Eric Theis resume61.1
Eric Theis resume61.1
 
A timeline for embedded Linux
A timeline for embedded LinuxA timeline for embedded Linux
A timeline for embedded Linux
 
What's New in RHEL 6 for Linux on System z?
What's New in RHEL 6 for Linux on System z?What's New in RHEL 6 for Linux on System z?
What's New in RHEL 6 for Linux on System z?
 
Porting linux to a new architecture
Porting linux to a new architecturePorting linux to a new architecture
Porting linux to a new architecture
 
Masters porting linux
Masters porting linuxMasters porting linux
Masters porting linux
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
Porting linux on ARM
Porting linux on ARMPorting linux on ARM
Porting linux on ARM
 
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
 
RISC-V 30906 hex five multi_zone iot firmware
RISC-V 30906 hex five multi_zone iot firmwareRISC-V 30906 hex five multi_zone iot firmware
RISC-V 30906 hex five multi_zone iot firmware
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
 
Linuxseminar os
Linuxseminar osLinuxseminar os
Linuxseminar os
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined Infrastructure
 

En vedette

Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceChristian Charreyre
 
BibBase Linked Data Triplification Challenge 2010 Presentation
BibBase Linked Data Triplification Challenge 2010 PresentationBibBase Linked Data Triplification Challenge 2010 Presentation
BibBase Linked Data Triplification Challenge 2010 PresentationReynold Xin
 
Créer une distribution Linux embarqué professionnelle avec Yocto Project
Créer une distribution Linux embarqué professionnelle avec Yocto ProjectCréer une distribution Linux embarqué professionnelle avec Yocto Project
Créer une distribution Linux embarqué professionnelle avec Yocto ProjectChristian Charreyre
 
Présentation Yocto - SophiaConf 2015
Présentation Yocto - SophiaConf 2015Présentation Yocto - SophiaConf 2015
Présentation Yocto - SophiaConf 2015Christian Charreyre
 
Open Embedded un framework libre pour assurer la cohérence de son projet
Open Embedded un framework libre pour assurer la cohérence de son projetOpen Embedded un framework libre pour assurer la cohérence de son projet
Open Embedded un framework libre pour assurer la cohérence de son projetChristian Charreyre
 
Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...Christian Charreyre
 
Using heka
Using hekaUsing heka
Using hekaExotel
 
Python Foundation – A programmer's introduction to Python concepts & style
Python Foundation – A programmer's introduction to Python concepts & stylePython Foundation – A programmer's introduction to Python concepts & style
Python Foundation – A programmer's introduction to Python concepts & styleKevlin Henney
 
Making Steaks from Sacred Cows
Making Steaks from Sacred CowsMaking Steaks from Sacred Cows
Making Steaks from Sacred CowsKevlin Henney
 
The Architecture of Uncertainty
The Architecture of UncertaintyThe Architecture of Uncertainty
The Architecture of UncertaintyKevlin Henney
 
Logiciels libres en milieu industriel
Logiciels libres en milieu industrielLogiciels libres en milieu industriel
Logiciels libres en milieu industrielChristian Charreyre
 
#Gophercon Talk by Smita Vijayakumar - Go's Context Library
#Gophercon Talk by Smita Vijayakumar - Go's Context Library#Gophercon Talk by Smita Vijayakumar - Go's Context Library
#Gophercon Talk by Smita Vijayakumar - Go's Context LibraryExotel
 
Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Christian Charreyre
 
Working at Exotel
Working at ExotelWorking at Exotel
Working at ExotelExotel
 
Contrat 2010-2013 Scduag
Contrat 2010-2013 ScduagContrat 2010-2013 Scduag
Contrat 2010-2013 Scduagscduag
 
Setting A Culture of Technical Excellence
Setting A Culture of Technical ExcellenceSetting A Culture of Technical Excellence
Setting A Culture of Technical ExcellenceExotel
 
Exotel For Last Mile Logistics
Exotel For Last Mile LogisticsExotel For Last Mile Logistics
Exotel For Last Mile LogisticsExotel
 

En vedette (20)

Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open Source
 
Meetup Systemd vs sysvinit
Meetup Systemd vs sysvinitMeetup Systemd vs sysvinit
Meetup Systemd vs sysvinit
 
BibBase Linked Data Triplification Challenge 2010 Presentation
BibBase Linked Data Triplification Challenge 2010 PresentationBibBase Linked Data Triplification Challenge 2010 Presentation
BibBase Linked Data Triplification Challenge 2010 Presentation
 
Créer une distribution Linux embarqué professionnelle avec Yocto Project
Créer une distribution Linux embarqué professionnelle avec Yocto ProjectCréer une distribution Linux embarqué professionnelle avec Yocto Project
Créer une distribution Linux embarqué professionnelle avec Yocto Project
 
Présentation Yocto - SophiaConf 2015
Présentation Yocto - SophiaConf 2015Présentation Yocto - SophiaConf 2015
Présentation Yocto - SophiaConf 2015
 
Open Embedded un framework libre pour assurer la cohérence de son projet
Open Embedded un framework libre pour assurer la cohérence de son projetOpen Embedded un framework libre pour assurer la cohérence de son projet
Open Embedded un framework libre pour assurer la cohérence de son projet
 
Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...
 
OS libres pour l'IoT - Zephyr
OS libres pour l'IoT - ZephyrOS libres pour l'IoT - Zephyr
OS libres pour l'IoT - Zephyr
 
Autotools
AutotoolsAutotools
Autotools
 
Using heka
Using hekaUsing heka
Using heka
 
Python Foundation – A programmer's introduction to Python concepts & style
Python Foundation – A programmer's introduction to Python concepts & stylePython Foundation – A programmer's introduction to Python concepts & style
Python Foundation – A programmer's introduction to Python concepts & style
 
Making Steaks from Sacred Cows
Making Steaks from Sacred CowsMaking Steaks from Sacred Cows
Making Steaks from Sacred Cows
 
The Architecture of Uncertainty
The Architecture of UncertaintyThe Architecture of Uncertainty
The Architecture of Uncertainty
 
Logiciels libres en milieu industriel
Logiciels libres en milieu industrielLogiciels libres en milieu industriel
Logiciels libres en milieu industriel
 
#Gophercon Talk by Smita Vijayakumar - Go's Context Library
#Gophercon Talk by Smita Vijayakumar - Go's Context Library#Gophercon Talk by Smita Vijayakumar - Go's Context Library
#Gophercon Talk by Smita Vijayakumar - Go's Context Library
 
Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015
 
Working at Exotel
Working at ExotelWorking at Exotel
Working at Exotel
 
Contrat 2010-2013 Scduag
Contrat 2010-2013 ScduagContrat 2010-2013 Scduag
Contrat 2010-2013 Scduag
 
Setting A Culture of Technical Excellence
Setting A Culture of Technical ExcellenceSetting A Culture of Technical Excellence
Setting A Culture of Technical Excellence
 
Exotel For Last Mile Logistics
Exotel For Last Mile LogisticsExotel For Last Mile Logistics
Exotel For Last Mile Logistics
 

Similaire à ERTS 2008 - Using Linux for industrial projects

From Uc To Embedded
From Uc To EmbeddedFrom Uc To Embedded
From Uc To Embeddedguest0cf711
 
Enea Linux and LWRT FTF China 2012
Enea Linux and LWRT FTF China 2012Enea Linux and LWRT FTF China 2012
Enea Linux and LWRT FTF China 2012EneaSoftware
 
Enea Keystone training 2014
Enea Keystone training 2014Enea Keystone training 2014
Enea Keystone training 2014EneaSoftware
 
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.Idit Levine
 
Cigna Innovation Summit
Cigna Innovation SummitCigna Innovation Summit
Cigna Innovation SummitIdit Levine
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Patrick Chanezon
 
Docker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker, Inc.
 
How the Post-PC era changed IT Ubuntu for next gen datacenters
How the Post-PC era changed IT Ubuntu for next gen datacentersHow the Post-PC era changed IT Ubuntu for next gen datacenters
How the Post-PC era changed IT Ubuntu for next gen datacentersGiuseppe Paterno'
 
Brief_Experience_Overview
Brief_Experience_OverviewBrief_Experience_Overview
Brief_Experience_Overviewfarmand
 
Modern IoT and Embedded Linux Deployment - Berlin
Modern IoT and Embedded Linux Deployment - BerlinModern IoT and Embedded Linux Deployment - Berlin
Modern IoT and Embedded Linux Deployment - BerlinDjalal Harouni
 
15-382_TenAsys-RTOS-DataSheet_HI
15-382_TenAsys-RTOS-DataSheet_HI15-382_TenAsys-RTOS-DataSheet_HI
15-382_TenAsys-RTOS-DataSheet_HIAssaf Galil
 
Operating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and DisadvantagesOperating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and DisadvantagesFatih Özlü
 
Scaling notebooks for Deep Learning workloads
Scaling notebooks for Deep Learning workloadsScaling notebooks for Deep Learning workloads
Scaling notebooks for Deep Learning workloadsLuciano Resende
 
Learn .NET Core - Introduction
Learn .NET Core - IntroductionLearn .NET Core - Introduction
Learn .NET Core - IntroductionEng Teong Cheah
 
Developing Real-Time Systems on Application Processors
Developing Real-Time Systems on Application ProcessorsDeveloping Real-Time Systems on Application Processors
Developing Real-Time Systems on Application ProcessorsToradex
 

Similaire à ERTS 2008 - Using Linux for industrial projects (20)

From Uc To Embedded
From Uc To EmbeddedFrom Uc To Embedded
From Uc To Embedded
 
Enea Linux and LWRT FTF China 2012
Enea Linux and LWRT FTF China 2012Enea Linux and LWRT FTF China 2012
Enea Linux and LWRT FTF China 2012
 
Lotus on Linux Report 2010
Lotus on Linux Report 2010Lotus on Linux Report 2010
Lotus on Linux Report 2010
 
Enea Keystone training 2014
Enea Keystone training 2014Enea Keystone training 2014
Enea Keystone training 2014
 
Dedicated embedded linux af Esben Haabendal, Prevas A/S
Dedicated embedded linux af Esben Haabendal, Prevas A/SDedicated embedded linux af Esben Haabendal, Prevas A/S
Dedicated embedded linux af Esben Haabendal, Prevas A/S
 
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
 
Cigna Innovation Summit
Cigna Innovation SummitCigna Innovation Summit
Cigna Innovation Summit
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
 
Docker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker Online Meetup #31: Unikernels
Docker Online Meetup #31: Unikernels
 
Lecture 9
Lecture 9Lecture 9
Lecture 9
 
How the Post-PC era changed IT Ubuntu for next gen datacenters
How the Post-PC era changed IT Ubuntu for next gen datacentersHow the Post-PC era changed IT Ubuntu for next gen datacenters
How the Post-PC era changed IT Ubuntu for next gen datacenters
 
Brief_Experience_Overview
Brief_Experience_OverviewBrief_Experience_Overview
Brief_Experience_Overview
 
Presentation on linux
Presentation on linuxPresentation on linux
Presentation on linux
 
Modern IoT and Embedded Linux Deployment - Berlin
Modern IoT and Embedded Linux Deployment - BerlinModern IoT and Embedded Linux Deployment - Berlin
Modern IoT and Embedded Linux Deployment - Berlin
 
Linux OS presentation
Linux OS presentationLinux OS presentation
Linux OS presentation
 
15-382_TenAsys-RTOS-DataSheet_HI
15-382_TenAsys-RTOS-DataSheet_HI15-382_TenAsys-RTOS-DataSheet_HI
15-382_TenAsys-RTOS-DataSheet_HI
 
Operating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and DisadvantagesOperating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
 
Scaling notebooks for Deep Learning workloads
Scaling notebooks for Deep Learning workloadsScaling notebooks for Deep Learning workloads
Scaling notebooks for Deep Learning workloads
 
Learn .NET Core - Introduction
Learn .NET Core - IntroductionLearn .NET Core - Introduction
Learn .NET Core - Introduction
 
Developing Real-Time Systems on Application Processors
Developing Real-Time Systems on Application ProcessorsDeveloping Real-Time Systems on Application Processors
Developing Real-Time Systems on Application Processors
 

Plus de Christian Charreyre

Meetup Cybersécurité RGPD Conséquences dans l'Embarqué
Meetup Cybersécurité RGPD Conséquences dans l'EmbarquéMeetup Cybersécurité RGPD Conséquences dans l'Embarqué
Meetup Cybersécurité RGPD Conséquences dans l'EmbarquéChristian Charreyre
 
Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureChristian Charreyre
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmChristian Charreyre
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmChristian Charreyre
 
Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Christian Charreyre
 
Concevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeConcevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeChristian Charreyre
 
Concevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto ProjectConcevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto ProjectChristian Charreyre
 
Conference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTICConference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTICChristian Charreyre
 

Plus de Christian Charreyre (10)

Meetup Cybersécurité RGPD Conséquences dans l'Embarqué
Meetup Cybersécurité RGPD Conséquences dans l'EmbarquéMeetup Cybersécurité RGPD Conséquences dans l'Embarqué
Meetup Cybersécurité RGPD Conséquences dans l'Embarqué
 
Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architecture
 
Le Device Tree Linux
Le Device Tree LinuxLe Device Tree Linux
Le Device Tree Linux
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou Angström
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou Angström
 
Licences libres et embarqué
Licences libres et embarquéLicences libres et embarqué
Licences libres et embarqué
 
Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015
 
Concevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeConcevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version révisée
 
Concevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto ProjectConcevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto Project
 
Conference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTICConference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTIC
 

Dernier

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 

Dernier (20)

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 

ERTS 2008 - Using Linux for industrial projects

  • 1. C. Charreyre Using Linux for industrial projects Return of experience 4th European Congress ERTS EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 2. License Attribution-Noncommercial-Share Alike 2.0 France You are free: to Share - to copy, distribute, display, and perform the work to Remix - to make derivative works Under the following conditions: Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Non commercial. You may not use this work for commercial purposes. Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one. For any reuse or distribution, you must make clear to others the license terms of this work. The best 4th European way to do this is with a link to this web page. Congress ERTS Any of the above conditions can be waived if you get permission from the copyright holder. EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 3. CIO Informatique Industrielle Company dedicated to industrial software development Incorporated in 1990 15 engineers to help customers on embedded and real time software Great investment on Linux technologies since 2000 Competence center created in 2001 Located in St Etienne and Marseille Member of Libertis, association of free software service companies in PACA 4th European Congress ERTS http://www.libertis.org EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 4. Linux on the embedded market Linux is a fast growing actor on the embedded market It is know representing about 50% of the market Source Embedded Linux Market Survey 2007 LinuxDevices.com 4th European Congress ERTS EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 5. Linux on the embedded market The Arm processor is the most used architecture with Linux Linux + Arm is a great solution for low price mass market devices Source Embedded Linux Market Survey 2007 LinuxDevices.com 4th European Congress ERTS EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 6. Linux at CIO Typical projects : Software developments for industrials or aerospace/defense With real time and embedded characteristics OS used until 2000 : Legacy RTOS like OS9, VxWorks, QNX etc.... Investment on Linux technologies in 2000 A step by step approach : Use of Linux distribution on PC (desktop, PC104, SBC, Compact PCI) Home made reduced Linux on same architecture Use of real time extensions to get same performances as legacy RTOS Use on other architectures used in projects : PowerPC, Arm 4th European Congress ERTS We suggest such an approach to new adopters (from easiest to EMBEDDED REAL most difficult) TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 7. Linux for embedded device Requirements of embedded projects : Processor architecture can be Intel, but also PPC, Arm, microcontroller ... Linux available on many architectures used in embedded devices : X86, Freescale, Arm, SuperH, AVR32, Blackfin ... (24 arch. In 2.6.23) Low memory and storage requirements Linux distributions are huge (Gigabytes), and require Megabytes of memory The good approach is to build a reduced embedded image, with the precise requirements of the project By rebuilding a dedicated embedded image, one can reach sizes like 4 MB of mass storage and 8 MB of memory Flash support Compact Flash or Disk on Module emulate IDE, managed by IDE driver NAND or NOR flash managed by the MTD framework, with a lot of chipsets supported 4th European Congress ERTS EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 8. Linux for embedded device Requirements of embedded projects : Quick boot Boot time = Bootloader (+ BIOS if X86) + Linux startup Bootloader must be tuned to reduce its time Linux startup can range from few seconds to few tens of seconds depending on processor speed and quantity of services, for embedded images Switch off without shutdown Journaling capabilities of Linux filesystems reduce risks, but are not sufficient in embedded world The solution is to use RAM disks as the root of the file system : in case of file system corruption, the copy in RAM is corrupted, not the file system itself With an adequate strategy, Linux can deal with the requirements of embedded devices 4th European Congress ERTS EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 9. An embedded project Redundancy device duplication filtering normal flux duplicated flux Customer requirements : Complete access to source code Different hardware and form factor Performant and reliable TCP/IP stack 4th European Congress ERTS Quick availability after power on EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 10. An embedded project Linux chosen because : Linux and basic components governed by GPL, the sources of the developed application itself were also given to the customer Linux available on first architectures (X86 on Compact PCI and PPC on VME) Linux TCP/IP stack are performant (most Web servers run under Linux) Very quick availability after power on thanks to very reduced dedicated image The project has been delivered successfully for the first 2 architectures, and it will be easy to swap to new ones The customer performs later evolutions by itself 4th European Congress ERTS EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 11. Real time with Linux Types of project : Embedded only : Linux OK Soft real time : Linux OK with adapted strategy Hard real time : Linux not OK, but Linux + Real time extension OK Linux is a general purpose OS, the scheduler's mission is to distribute the processor to all processes on a fair base in a large time scale (no fixed priority). Soft real time is accessible through the scheduler API : « Real time » class implements same scheduling principles than RTOS There is no guarantee on interrupt reaction duration, due to the internal structure of kernel, so hard real time not possible Kernel 2.6 can be preemptible, but large sections of the kernel have interrupt masked or preemption disabled, so even 2.6 is not hard real time 4th European Preemptible kernel 2.6 + real time class scheduling → Soft real Congress ERTS time EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 12. Real time with Linux Hard real time needs a real time extension : RTLinux : GPL, then commercial product, now bought by WindRiver RTAI : GPL Xenomai : GPL, skins available Extension implemented as kernel modules Extension implements a RTOS Application shared between Linux (not real time part) and extension (real time part) with IPC between the 2 worlds. In the real time part, no access to Linux system calls nor drivers (a real time driver framework : RTDM) Possibility to develop the real time part as : 4th European Full kernel modules Congress ERTS Linux processes managed by the real time extension EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 13. A real time project The project is to develop a data recorder for high end automotives (to record data on vehicle's buses). The hardware is built with PC104 board, with CPU, CAN board and a DSP board. Real time requirements : precise time stamp of data, full determinism in exchanges between CPU and DSP Kernel 2.4 choosen, due to Linux drivers availability, and conservative approach when project was launched RTAI used for real time purposes CIO's job : Soft choices Linux + RTAI integration 4th European Port of Linux drivers towards RTAI Congress ERTS Application skeleton development EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 14. Porting from RTOS to Linux Why porting from RTOS to Linux : Replacing old hardware by newest one, not yet supported by RTOS Avoiding licence costs .... To avoid important costs, it is interessant to port as much as possible at the OS level : System calls remapping Compatibility library The goal is to change the applications sources the less possible, to avoid development and revalidation costs A project example : port of a SNMP stack from 68K / OS9 towards PowerPC / Linux This port was a mock up for a larger application 4th European Congress ERTS EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 15. Porting from RTOS to Linux Main difficulties encountered : Compiler change reveals problems in the original sources. Gnu chain makes much more control than original OS9 compiler : Quality problems in original sources, syntax errors .... Bad data alignment of structure members Consequence : a lot of unforeseen work to correct the sources Memory model : OS9 processes shared data structures : members of shared data were pointers No problem on OS9 with flat memory model Impossible with Linux with segmented memory through MMU Solved by using the shared memory API, with fixed mapping of the shared memory at same address for all processes Use of signals and alarms : Cooperation between OS9 process made with a lot of signals 4th European Congress ERTS Linux offers very few signals available to users EMBEDDED REAL Development of an emulation API of OS signals based on SIGUSR1 TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 16. Porting from RTOS to Linux Main difficulties encountered : Use of signals and alarms : A lot of alarms running in parallel in the original OS9 application Linux is not designed to have such an architecture Solved by developping an alarm emulation API based on dedicated alarm threads Other system aspects where quite easy to remap with wrappers (through include files) The port was finally achieved successfully. It demonstrated the concept could be extended to the whole application 3 types of difficulties : Relative easy remapping of system calls (the majority) More challenging points solved by emulation library (signals, alarms) 4th European Congress ERTS Most difficult points : memory model and original sources difficulties EMBEDDED REAL triggered by compiler change. TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008
  • 17. More information Web site http://www.cioinfoindus.fr Contact us : Tél : +33 4 95 05 19 41 Mail : christian.charreyre@cioinfoindus.fr 4th European Congress ERTS EMBEDDED REAL TIME SOFTWARE Using Linux in industrial projects - ERTS 2008 - February 1st, 2008