SlideShare a Scribd company logo
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.1
YOCTO PROJECT LINUX AS A PLATFORM
FOR EMBEDDED SYSTEM DESIGN
OR, WHAT IS THE BEST OPEN SOURCE OS CHOICE FOR MY EMBEDDED SYSTEM?
ALEX.GONZALEZ@DIGI.COM
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.2
WHY THIS PRESENTATION?
• Digi manufactures System-On-Modules (SOMSs) and Single Board
Computers (SBCs)
• Provides free reference software (BSP and Yocto Project based
distribution)
• Why use a Yocto Project based distribution?
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.
Common embedded OS considerations:
• Power consumption
• User interface, possibly graphical
• Quick start up time
• Security
• Networking
• Some amount of RT determinism
3
WHAT IS AN EMBEDDED SYSTEM?
Cost and time to market are directly proportional
to the complexity
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.
Common embedded OS considerations:
• Power consumption
• User interface, possibly graphical
• Quick start up time
• Security
• Networking
• Some amount of RT determinism
4
REAL TIME CONSIDERATIONS
Cost and time to market are directly proportional
to the complexity
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.5
MICROCONTROLLER OR MICROPROCESSOR
MCU CPU
• Flat memory model
• Extensive use of JTAG debuggers
• Open source operating systems
• FreeRTOS, mbed, Zephyr
• Hard real time
• Virtual memory (MMU)
• Limited use of JTAG debuggers
• Open source operating systems
• Embedded Linux
• Real time considerations
• Soft RT (PREEMPT_RT)
• Hard RT not really Linux
• RTLinux, RTAI, Xenomai
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.6
EMBEDDED LINUX
DEVELOPMENT CONSIDERATIONS
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.7
EMBEDDED LINUX DISTRIBUTION
An embedded Linux distribution provides:
• The bootloader
• The Linux kernel
• The root filesystem
• A software development kit
Sets system policies:
• Selection of supported packages
• Initialization system
• Graphical backend and environment
• System wide choices
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.8
EMBEDDED LINUX DEVELOPMENT
• Bigger development teams
• Different development roles
• BSP developers
• System developers
• Application developers
• SDK used as an interface
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.9
BSP DEVELOPMENT
• Bootloader development
• Similar to traditional embedded development
• Bring-up
• Intimate with hardware
• Flat memory model
• JTAG debuggers
• Linux kernel development
• Similar to PC kernel developers
• JTAG of little use
• BSP/drivers provided by OEM and community
• Mostly device tree customization and driver
debugging and development
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.10
APPLICATION DEVELOPMENT
• Abstracted by Linux kernel
• Similar to PC desktop application development
• QT
• Web applications
• C and C++
• Also Python, Node.js and Java
• The application is a collection of services that
collaborate and communicate
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.11
SYSTEM DEVELOPMENT
• System integration
• Build system
• Root filesystem generation
• SDK generation
• Toolchain
• Sysroot
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.12
EMBEDDED LINUX DISTRIBUTIONS
BINARY OR BUILD FROM SOURCE
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.13
EMBEDDED LINUX DISTRIBUTIONS
• A customized existing binary Linux distribution
• For example Debian
• A distribution built from source
• Do it yourself
• For example using crosstool-ng and
Cross LFS
• Standard tools
• Buildroot
• Yocto Project
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.14
BINARY LINUX DISTRIBUTIONS
• Pre-built packages installed and removed using a
package manager
• On-target compilation common
• Package maintenance by the distribution provider
• Limited package configuration
• Generic, heavily patched packages
• Not focused on embedded applications
needs
• Bigger systems
• Slower to boot
• Require more resources to run
• More difficult to secure
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.15
BINARY LINUX DISTRIBUTIONS
• Pre-defined policies and architectural choices
• Customization needed for most embedded systems lead to manual non-standard builds
• Difficult to reproduce
• High maintenance cost
• Package manager updates unsuited for embedded
• Can´t guarantee deployed system is the same as tested system
• Power loses while updating leave the system in inconsistent states
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.16
EMBEDDED LINUX DISTRIBUTIONS
BINARY OR BUILD FROM SOURCE
BINARY SOURCE
• Lowest complexity and time to
market for supported hardware
• High maintainability
• Bigger images
• Slower to boot
• More resources to run
• More difficult to secure
• Low reproducibility
• Low portability and scalability
• Longer development cycles
• Full configuration possibilities
• Maximum flexibility, no pre-
determined choices
• Easier maintenance as long as
needed
• Smaller images
• Faster to boot
• Lower resources to run
• Easier to secure
• High portability and scalability
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.17
EMBEDDED LINUX DISTRIBUTIONS
BUILDROOT OR YOCTO PROJECT
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.18
BUILD FROM SOURCE LINUX DISTRIBUTIONS
BUILDROOT
• Easy to use
• Ideal for small projects and teams
• Uses kbuild as configuration tool
• All configuration in one place
• Good selection of well-maintained
packages
• External packages can be added
• Three months release cadence
• Yearly LTS release
• More image generator than distribution
builder
• Does not generate binary packages
• Does not support package managers
• Only performs full system updates
• Does not support on target compilation
• Full system rebuilds often required
• No concept of build cache
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.19
BUILD FROM SOURCE LINUX DISTRIBUTIONS
YOCTO PROJECT
• Distribution builder
• Poky reference distribution
• Openembedded build system
• Bitbake scheduler
• Build binary packages that are installed into
root filesystem images
• Package managers on target for development
• Large number of packages structured in layers
• Software re-use
• Distributed maintenance
• Six month release cadence
• Current and previous releases are
maintained
• Configuration in several places
• Distro, machine, image and local
• Scales to multiple platforms and bigger
teams
• Steeper learning curve
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.
• No one-size-fits-all embedded operating system
• For CPUs, embedded Linux covers most use cases
• RT considerations apply
• Build from source distributions better suited than binary
distributions
• Small projects and teams are a good fit for Buildroot
• The Yocto Project scales better to bigger projects, teams and
multiple platforms
20
SUMMARY
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.21
EMBEDDED LINUX DEVELOPMENT USING YOCTO
PROJECT COOKBOOK DISCOUNT CODES
Discount codes valid until 26th March 2018.
• Ebook 50% discount: ELDUYPC50
• Paperback copy 15% discount: ELDUYPC15
• Limited availability!
Some free copies available at Digi´s booth
• Hall 3 booth 518
DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.
Questions?
22
Thanks for listening.
Alex González, Software Supervisor, Digi International
Alex.Gonzalez@digi.com

More Related Content

Similar to Yocto Project Linux as a platform for embedded system design

Opening last bits of the infrastructure
Opening last bits of the infrastructureOpening last bits of the infrastructure
Opening last bits of the infrastructure
Erwan Velu
 
Embedded linux build systems
Embedded linux build systems  Embedded linux build systems
Embedded linux build systems
Mender.io
 
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
hernanibf
 
Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018
Mender.io
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
Arnav Gupta
 
Building cloud native microservices
Building cloud native microservicesBuilding cloud native microservices
Building cloud native microservices
Brian Pulito
 
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoTZephyr: Creating a Best-of-Breed, Secure RTOS for IoT
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
LinuxCon ContainerCon CloudOpen China
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
Gert Drapers
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Perforce
 
Embedded Systems: Lecture 8: The Raspberry Pi as a Linux Box
Embedded Systems: Lecture 8: The Raspberry Pi as a Linux BoxEmbedded Systems: Lecture 8: The Raspberry Pi as a Linux Box
Embedded Systems: Lecture 8: The Raspberry Pi as a Linux Box
Ahmed El-Arabawy
 
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
AgileNetwork
 
Frokost seminar windows 8 februar 2013
Frokost seminar   windows 8 februar 2013Frokost seminar   windows 8 februar 2013
Frokost seminar windows 8 februar 2013
Olav Tvedt
 
.org to .com: Going from Project to Product
.org to .com: Going from Project to Product.org to .com: Going from Project to Product
.org to .com: Going from Project to Product
Joshua L. Davis
 
Finding Your Way in Container Security
Finding Your Way in Container SecurityFinding Your Way in Container Security
Finding Your Way in Container Security
Ksenia Peguero
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleet
Davide Cavalca
 
Best Practices for Deploying Enterprise Applications on UNIX
Best Practices for Deploying Enterprise Applications on UNIXBest Practices for Deploying Enterprise Applications on UNIX
Best Practices for Deploying Enterprise Applications on UNIX
Noel McKeown
 
Node.js what's next (Index 2018)
Node.js what's next (Index 2018)Node.js what's next (Index 2018)
Node.js what's next (Index 2018)
Gibson Fahnestock
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
Mender.io
 

Similar to Yocto Project Linux as a platform for embedded system design (20)

Opening last bits of the infrastructure
Opening last bits of the infrastructureOpening last bits of the infrastructure
Opening last bits of the infrastructure
 
Embedded linux build systems
Embedded linux build systems  Embedded linux build systems
Embedded linux build systems
 
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
 
Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Building cloud native microservices
Building cloud native microservicesBuilding cloud native microservices
Building cloud native microservices
 
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoTZephyr: Creating a Best-of-Breed, Secure RTOS for IoT
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
 
Embedded Systems: Lecture 8: The Raspberry Pi as a Linux Box
Embedded Systems: Lecture 8: The Raspberry Pi as a Linux BoxEmbedded Systems: Lecture 8: The Raspberry Pi as a Linux Box
Embedded Systems: Lecture 8: The Raspberry Pi as a Linux Box
 
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
 
Frokost seminar windows 8 februar 2013
Frokost seminar   windows 8 februar 2013Frokost seminar   windows 8 februar 2013
Frokost seminar windows 8 februar 2013
 
.org to .com: Going from Project to Product
.org to .com: Going from Project to Product.org to .com: Going from Project to Product
.org to .com: Going from Project to Product
 
Finding Your Way in Container Security
Finding Your Way in Container SecurityFinding Your Way in Container Security
Finding Your Way in Container Security
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleet
 
Best Practices for Deploying Enterprise Applications on UNIX
Best Practices for Deploying Enterprise Applications on UNIXBest Practices for Deploying Enterprise Applications on UNIX
Best Practices for Deploying Enterprise Applications on UNIX
 
Node.js what's next (Index 2018)
Node.js what's next (Index 2018)Node.js what's next (Index 2018)
Node.js what's next (Index 2018)
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
 

Recently uploaded

Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
yokeleetan1
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
gestioneergodomus
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
drwaing
 
This is my Environmental physics presentation
This is my Environmental physics presentationThis is my Environmental physics presentation
This is my Environmental physics presentation
ZainabHashmi17
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
ihlasbinance2003
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
PauloRodrigues104553
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
ClaraZara1
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
anoopmanoharan2
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
nooriasukmaningtyas
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
gerogepatton
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
Exception Handling notes in java exception
Exception Handling notes in java exceptionException Handling notes in java exception
Exception Handling notes in java exception
Ratnakar Mikkili
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
heavyhaig
 
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
Mukeshwaran Balu
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
aqil azizi
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
一比一原版(UC Berkeley毕业证)加利福尼亚大学|伯克利分校毕业证成绩单专业办理
一比一原版(UC Berkeley毕业证)加利福尼亚大学|伯克利分校毕业证成绩单专业办理一比一原版(UC Berkeley毕业证)加利福尼亚大学|伯克利分校毕业证成绩单专业办理
一比一原版(UC Berkeley毕业证)加利福尼亚大学|伯克利分校毕业证成绩单专业办理
skuxot
 

Recently uploaded (20)

Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
 
This is my Environmental physics presentation
This is my Environmental physics presentationThis is my Environmental physics presentation
This is my Environmental physics presentation
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
Exception Handling notes in java exception
Exception Handling notes in java exceptionException Handling notes in java exception
Exception Handling notes in java exception
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
 
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
一比一原版(UC Berkeley毕业证)加利福尼亚大学|伯克利分校毕业证成绩单专业办理
一比一原版(UC Berkeley毕业证)加利福尼亚大学|伯克利分校毕业证成绩单专业办理一比一原版(UC Berkeley毕业证)加利福尼亚大学|伯克利分校毕业证成绩单专业办理
一比一原版(UC Berkeley毕业证)加利福尼亚大学|伯克利分校毕业证成绩单专业办理
 

Yocto Project Linux as a platform for embedded system design

  • 1. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.1 YOCTO PROJECT LINUX AS A PLATFORM FOR EMBEDDED SYSTEM DESIGN OR, WHAT IS THE BEST OPEN SOURCE OS CHOICE FOR MY EMBEDDED SYSTEM? ALEX.GONZALEZ@DIGI.COM
  • 2. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.2 WHY THIS PRESENTATION? • Digi manufactures System-On-Modules (SOMSs) and Single Board Computers (SBCs) • Provides free reference software (BSP and Yocto Project based distribution) • Why use a Yocto Project based distribution?
  • 3. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC. Common embedded OS considerations: • Power consumption • User interface, possibly graphical • Quick start up time • Security • Networking • Some amount of RT determinism 3 WHAT IS AN EMBEDDED SYSTEM? Cost and time to market are directly proportional to the complexity
  • 4. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC. Common embedded OS considerations: • Power consumption • User interface, possibly graphical • Quick start up time • Security • Networking • Some amount of RT determinism 4 REAL TIME CONSIDERATIONS Cost and time to market are directly proportional to the complexity
  • 5. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.5 MICROCONTROLLER OR MICROPROCESSOR MCU CPU • Flat memory model • Extensive use of JTAG debuggers • Open source operating systems • FreeRTOS, mbed, Zephyr • Hard real time • Virtual memory (MMU) • Limited use of JTAG debuggers • Open source operating systems • Embedded Linux • Real time considerations • Soft RT (PREEMPT_RT) • Hard RT not really Linux • RTLinux, RTAI, Xenomai
  • 6. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.6 EMBEDDED LINUX DEVELOPMENT CONSIDERATIONS
  • 7. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.7 EMBEDDED LINUX DISTRIBUTION An embedded Linux distribution provides: • The bootloader • The Linux kernel • The root filesystem • A software development kit Sets system policies: • Selection of supported packages • Initialization system • Graphical backend and environment • System wide choices
  • 8. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.8 EMBEDDED LINUX DEVELOPMENT • Bigger development teams • Different development roles • BSP developers • System developers • Application developers • SDK used as an interface
  • 9. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.9 BSP DEVELOPMENT • Bootloader development • Similar to traditional embedded development • Bring-up • Intimate with hardware • Flat memory model • JTAG debuggers • Linux kernel development • Similar to PC kernel developers • JTAG of little use • BSP/drivers provided by OEM and community • Mostly device tree customization and driver debugging and development
  • 10. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.10 APPLICATION DEVELOPMENT • Abstracted by Linux kernel • Similar to PC desktop application development • QT • Web applications • C and C++ • Also Python, Node.js and Java • The application is a collection of services that collaborate and communicate
  • 11. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.11 SYSTEM DEVELOPMENT • System integration • Build system • Root filesystem generation • SDK generation • Toolchain • Sysroot
  • 12. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.12 EMBEDDED LINUX DISTRIBUTIONS BINARY OR BUILD FROM SOURCE
  • 13. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.13 EMBEDDED LINUX DISTRIBUTIONS • A customized existing binary Linux distribution • For example Debian • A distribution built from source • Do it yourself • For example using crosstool-ng and Cross LFS • Standard tools • Buildroot • Yocto Project
  • 14. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.14 BINARY LINUX DISTRIBUTIONS • Pre-built packages installed and removed using a package manager • On-target compilation common • Package maintenance by the distribution provider • Limited package configuration • Generic, heavily patched packages • Not focused on embedded applications needs • Bigger systems • Slower to boot • Require more resources to run • More difficult to secure
  • 15. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.15 BINARY LINUX DISTRIBUTIONS • Pre-defined policies and architectural choices • Customization needed for most embedded systems lead to manual non-standard builds • Difficult to reproduce • High maintenance cost • Package manager updates unsuited for embedded • Can´t guarantee deployed system is the same as tested system • Power loses while updating leave the system in inconsistent states
  • 16. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.16 EMBEDDED LINUX DISTRIBUTIONS BINARY OR BUILD FROM SOURCE BINARY SOURCE • Lowest complexity and time to market for supported hardware • High maintainability • Bigger images • Slower to boot • More resources to run • More difficult to secure • Low reproducibility • Low portability and scalability • Longer development cycles • Full configuration possibilities • Maximum flexibility, no pre- determined choices • Easier maintenance as long as needed • Smaller images • Faster to boot • Lower resources to run • Easier to secure • High portability and scalability
  • 17. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.17 EMBEDDED LINUX DISTRIBUTIONS BUILDROOT OR YOCTO PROJECT
  • 18. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.18 BUILD FROM SOURCE LINUX DISTRIBUTIONS BUILDROOT • Easy to use • Ideal for small projects and teams • Uses kbuild as configuration tool • All configuration in one place • Good selection of well-maintained packages • External packages can be added • Three months release cadence • Yearly LTS release • More image generator than distribution builder • Does not generate binary packages • Does not support package managers • Only performs full system updates • Does not support on target compilation • Full system rebuilds often required • No concept of build cache
  • 19. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.19 BUILD FROM SOURCE LINUX DISTRIBUTIONS YOCTO PROJECT • Distribution builder • Poky reference distribution • Openembedded build system • Bitbake scheduler • Build binary packages that are installed into root filesystem images • Package managers on target for development • Large number of packages structured in layers • Software re-use • Distributed maintenance • Six month release cadence • Current and previous releases are maintained • Configuration in several places • Distro, machine, image and local • Scales to multiple platforms and bigger teams • Steeper learning curve
  • 20. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC. • No one-size-fits-all embedded operating system • For CPUs, embedded Linux covers most use cases • RT considerations apply • Build from source distributions better suited than binary distributions • Small projects and teams are a good fit for Buildroot • The Yocto Project scales better to bigger projects, teams and multiple platforms 20 SUMMARY
  • 21. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC.21 EMBEDDED LINUX DEVELOPMENT USING YOCTO PROJECT COOKBOOK DISCOUNT CODES Discount codes valid until 26th March 2018. • Ebook 50% discount: ELDUYPC50 • Paperback copy 15% discount: ELDUYPC15 • Limited availability! Some free copies available at Digi´s booth • Hall 3 booth 518
  • 22. DIGI.COM | PUBLIC | © DIGI INTERNATIONAL, INC. Questions? 22 Thanks for listening. Alex González, Software Supervisor, Digi International Alex.Gonzalez@digi.com