SlideShare a Scribd company logo
© 2017 Arm Limited
Embedded Linux
Introduction
© 2017 Arm Limited
2
Summary
Course structure
Introduction to embedded systems
Linux in embedded systems
© 2017 Arm Limited
3
Course Structure
Module 1: Linux in Embedded Systems
• Definition of embedded systems
• Examples
Module 2: Linux-based Embedded System Component Stack
• Bootloader
• Kernel
• Root file system
• Device tree
• System programs
• Application
© 2017 Arm Limited
4
Course Structure
Module 3: Anatomy of a Linux-based system
• The Linux Kernel internals
• Device tree
• System programs and BusyBox
Module 4: Configuration & Build Process of an Embedded Linux System
• Buildroot
• Yocto
Module 5: Introduction to Linux Kernel Modules
• CPU – I/O interface
• I/O taxonomy
• Linux devices
• Virtual file system abstraction
• Linux Kernel modules
© 2017 Arm Limited
5
Course Structure
Module 6: Communication Between Kernel and User Space
• Module level communication point of view
• User level communication point of view
Module 7: Application Demo: Building a Ranging Sensor Kernel Module
• The sysfs file system
• Building Linux support for the HC-SR04 ultrasonic ranging sensor
Module 8: System Debugging & Profiling lab exercises
The majority of the theoretical lectures will be complemented with lab exercises.
© 2017 Arm Limited
6
Summary
Course structure
Introduction to embedded systems
Linux in embedded systems
© 2017 Arm Limited
7
What Is an Embedded System?
It is a special-purpose computer designed for a specific application.
Example of application:
internal combustion engine (ICE) Example of embedded system:
electronic control unit for ICE
© 2017 Arm Limited
8
Embedded System Components
Two main components
• Application
• Platform
Application
• Software that implements the functionalities for
which the embedded system is intended (e.g., to
control an ICE)
Platform
• Combination of hardware and basic software
components that provides the services needed for
the application to run
• Basic software includes system programs, operating
system, bootloader Hardware
Application
System Programs
Platform
System Call Interface
Process
Management
Virtual File
System
Memory
Management
Network
Management
Device Drivers
Bootloader
Operating
System
Basic
Software
© 2017 Arm Limited
9
Basic Software
Abstracts the hardware details by providing easy-
to-use functionalities, such as:
• Access to the resources through user-friendly utilities known
as system programs
• Example: ls to list the content of a directory
• Efficient access to the resources provided by the hardware
through the operating system
• Example: CPU real-time scheduling, device driver
management
• Initialization of hardware resources at power-up and
execution of the operating system through the bootloader
System Programs
System Call Interface
Process
Management
Virtual File
System
Memory
Management
Network
Management
Device Drivers
Bootloader
Operating
System
Basic
Software
© 2017 Arm Limited
10
Operating Systems for Embedded Systems
There are many solutions available which
serve different purposes depending on the
requirements of the application.
• Example 1
• Needs: deterministic real-time operating system for
low-cost devices, with little memory footprint
• Possible solutions: ARM RTX, Micrium mC/OS,
FreeRTOS, and others
• Example 2
• Needs: multi-core and networking support, advanced
graphics, and complex device handling
• Possible solutions: Linux, Android, and Windows
Example 1: deterministic real-time system
http://linuxgizmos.com/linux-based-in-vehicle-infotainment-on-the-rise/
Example 2: in-vehicle infotainment
© 2017 Arm Limited
11
Summary
Course structure
Introduction to embedded systems
Linux in embedded systems
© 2017 Arm Limited
12
Why Linux-based Embedded Systems?
Open Source (under GNU General Public License v2.0 : GPLv2)
• The full source code is available for learning and adaptation
Engaged community maintaining and improving Linux regularly
• Companies
• Individuals
• Academics
• Hobbyists
Flexible and adaptable: supports many hardware/System-on-Chip (SoC) configurations
• Based on ARM, x86, PowerPC, SPARC, etc.
Proven in many different scenarios (see next slides)
Supported by a very large ecosystem of software
• Bootloader, system programs, networking services, advanced graphic services, etc.
Royalty-free
© 2017 Arm Limited
13
Linux Evolution
August 26, 1991: everything started with this post
to comp.os.minix
Today several kernel categories exist, including:
• Prepatch or "RC" kernels, which are pre-releases
maintained and released by Linus Torvalds.
• Mainline kernel is maintained by Linus Torvalds, and is
where all new features are introduced. New mainline
kernels are released every 2-3 months.
• Long-term kernels are older releases subject to “long-term
maintenance”. Important bug fixes are applied to such
kernels.
https://www.kernel.org/category/releases.html
© 2017 Arm Limited
14
Linux-based Embedded System: Example 1
In-flight entertainment systems
http://www.linuxinsider.com/story/
The-Flying-Penguin-Linux-In-Flight-Entertainment-Systems-65541.html
“Linux is particularly suited for in-flight
entertainment because it's simple, not
weighed down by accompanying
programs, and easily adaptable to many
environments.”
http://www.linuxinsider.com/story/The-Flying-Penguin-Linux-In-Flight-Entertainment-Systems-65541.html
© 2017 Arm Limited
15
Linux-based Embedded System: Example 2
Tim Horton’s Café and Bake Shop
The screen displays the messages
Linux produces during boot-up.
In particular, we can recognize a
kernel panic, as the kernel is not
able to find the root file system.
© 2017 Arm Limited
16
Linux-based Embedded System: Example 3
A gas station pump
The screen displays the messages of
a Linux bootloader.
This gas station is powered by Linux
Ubuntu distribution with Kernel
2.6.35.

More Related Content

Similar to Lecture01_IntroToLinuxAndEmbeddedSystems.pptx (20)

Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded Linux
Tushar B Kute
 
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoEmbedded Linux from Scratch to Yocto
Embedded Linux from Scratch to Yocto
Sherif Mousa
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
Wingston
 
Bsp customization and porting of linux on arm cortex based i.mx6 processor wi...
Bsp customization and porting of linux on arm cortex based i.mx6 processor wi...Bsp customization and porting of linux on arm cortex based i.mx6 processor wi...
Bsp customization and porting of linux on arm cortex based i.mx6 processor wi...
eSAT Publishing House
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded Linux
Sherif Mousa
 
Embedded Linux Odp
Embedded Linux OdpEmbedded Linux Odp
Embedded Linux Odp
ghessler
 
Embedded Linux Talk Uni Forum
Embedded Linux Talk Uni ForumEmbedded Linux Talk Uni Forum
Embedded Linux Talk Uni Forum
Sumant Diwakar
 
Lec 10-linux-review
Lec 10-linux-reviewLec 10-linux-review
Lec 10-linux-review
abinaya m
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
Sherif Mousa
 
Embedded platform choices
Embedded platform choicesEmbedded platform choices
Embedded platform choices
Tavish Naruka
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linux
Shiraz LUG
 
Lect 1_Embedded Linux Embedded RTOS ppt
Lect 1_Embedded Linux Embedded RTOS  pptLect 1_Embedded Linux Embedded RTOS  ppt
Lect 1_Embedded Linux Embedded RTOS ppt
Varsha506533
 
Embedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing TechtalkEmbedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing Techtalk
Persistent Systems Ltd.
 
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteUnit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Tushar B Kute
 
Course 101: Lecture 1: Introduction to Embedded Systems
Course 101: Lecture 1: Introduction to Embedded SystemsCourse 101: Lecture 1: Introduction to Embedded Systems
Course 101: Lecture 1: Introduction to Embedded Systems
Ahmed El-Arabawy
 
01 linux-quick-start
01 linux-quick-start01 linux-quick-start
01 linux-quick-start
Nguyen Vinh
 
Building Embedded Systems With Embedded Linux Roronoa Hatake
Building Embedded Systems With Embedded Linux Roronoa HatakeBuilding Embedded Systems With Embedded Linux Roronoa Hatake
Building Embedded Systems With Embedded Linux Roronoa Hatake
ksrawikapeya
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
Chris Simmonds
 
Introduction to Embedded Linux
Introduction to Embedded LinuxIntroduction to Embedded Linux
Introduction to Embedded Linux
Hossain Reja
 
ERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projectsERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projects
Christian Charreyre
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded Linux
Tushar B Kute
 
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoEmbedded Linux from Scratch to Yocto
Embedded Linux from Scratch to Yocto
Sherif Mousa
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
Wingston
 
Bsp customization and porting of linux on arm cortex based i.mx6 processor wi...
Bsp customization and porting of linux on arm cortex based i.mx6 processor wi...Bsp customization and porting of linux on arm cortex based i.mx6 processor wi...
Bsp customization and porting of linux on arm cortex based i.mx6 processor wi...
eSAT Publishing House
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded Linux
Sherif Mousa
 
Embedded Linux Odp
Embedded Linux OdpEmbedded Linux Odp
Embedded Linux Odp
ghessler
 
Embedded Linux Talk Uni Forum
Embedded Linux Talk Uni ForumEmbedded Linux Talk Uni Forum
Embedded Linux Talk Uni Forum
Sumant Diwakar
 
Lec 10-linux-review
Lec 10-linux-reviewLec 10-linux-review
Lec 10-linux-review
abinaya m
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
Sherif Mousa
 
Embedded platform choices
Embedded platform choicesEmbedded platform choices
Embedded platform choices
Tavish Naruka
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linux
Shiraz LUG
 
Lect 1_Embedded Linux Embedded RTOS ppt
Lect 1_Embedded Linux Embedded RTOS  pptLect 1_Embedded Linux Embedded RTOS  ppt
Lect 1_Embedded Linux Embedded RTOS ppt
Varsha506533
 
Embedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing TechtalkEmbedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing Techtalk
Persistent Systems Ltd.
 
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteUnit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Tushar B Kute
 
Course 101: Lecture 1: Introduction to Embedded Systems
Course 101: Lecture 1: Introduction to Embedded SystemsCourse 101: Lecture 1: Introduction to Embedded Systems
Course 101: Lecture 1: Introduction to Embedded Systems
Ahmed El-Arabawy
 
01 linux-quick-start
01 linux-quick-start01 linux-quick-start
01 linux-quick-start
Nguyen Vinh
 
Building Embedded Systems With Embedded Linux Roronoa Hatake
Building Embedded Systems With Embedded Linux Roronoa HatakeBuilding Embedded Systems With Embedded Linux Roronoa Hatake
Building Embedded Systems With Embedded Linux Roronoa Hatake
ksrawikapeya
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
Chris Simmonds
 
Introduction to Embedded Linux
Introduction to Embedded LinuxIntroduction to Embedded Linux
Introduction to Embedded Linux
Hossain Reja
 
ERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projectsERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projects
Christian Charreyre
 

More from ChetanNaikJECE (8)

ULTRA SONIC AND PIR SENSORS working principle
ULTRA SONIC AND PIR SENSORS working principleULTRA SONIC AND PIR SENSORS working principle
ULTRA SONIC AND PIR SENSORS working principle
ChetanNaikJECE
 
Stepper Motor details operations and working principle
Stepper Motor details operations and working principleStepper Motor details operations and working principle
Stepper Motor details operations and working principle
ChetanNaikJECE
 
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptxLecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
ChetanNaikJECE
 
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
Lecture01_IntroToLinuxAndEmbeddedSystems.pptxLecture01_IntroToLinuxAndEmbeddedSystems.pptx
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
ChetanNaikJECE
 
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptxLecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
ChetanNaikJECE
 
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptxLecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
ChetanNaikJECE
 
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
Lecture01_IntroToLinuxAndEmbeddedSystems.pptxLecture01_IntroToLinuxAndEmbeddedSystems.pptx
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
ChetanNaikJECE
 
Computer organization & ARM microcontrollers module 3 PPT
Computer organization & ARM microcontrollers module 3 PPTComputer organization & ARM microcontrollers module 3 PPT
Computer organization & ARM microcontrollers module 3 PPT
ChetanNaikJECE
 
ULTRA SONIC AND PIR SENSORS working principle
ULTRA SONIC AND PIR SENSORS working principleULTRA SONIC AND PIR SENSORS working principle
ULTRA SONIC AND PIR SENSORS working principle
ChetanNaikJECE
 
Stepper Motor details operations and working principle
Stepper Motor details operations and working principleStepper Motor details operations and working principle
Stepper Motor details operations and working principle
ChetanNaikJECE
 
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptxLecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
ChetanNaikJECE
 
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
Lecture01_IntroToLinuxAndEmbeddedSystems.pptxLecture01_IntroToLinuxAndEmbeddedSystems.pptx
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
ChetanNaikJECE
 
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptxLecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
ChetanNaikJECE
 
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptxLecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
Lecture02_LinuxBasedEmbeddedSystemComponentStack.pptx
ChetanNaikJECE
 
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
Lecture01_IntroToLinuxAndEmbeddedSystems.pptxLecture01_IntroToLinuxAndEmbeddedSystems.pptx
Lecture01_IntroToLinuxAndEmbeddedSystems.pptx
ChetanNaikJECE
 
Computer organization & ARM microcontrollers module 3 PPT
Computer organization & ARM microcontrollers module 3 PPTComputer organization & ARM microcontrollers module 3 PPT
Computer organization & ARM microcontrollers module 3 PPT
ChetanNaikJECE
 

Recently uploaded (20)

FTS under Indiandadsadsadsadsadsadsa DTAA.pdf
FTS under Indiandadsadsadsadsadsadsa DTAA.pdfFTS under Indiandadsadsadsadsadsadsa DTAA.pdf
FTS under Indiandadsadsadsadsadsadsa DTAA.pdf
HimanshuSharma779547
 
Concept Learning - Find S Algorithm,Candidate Elimination Algorithm
Concept Learning - Find S Algorithm,Candidate Elimination AlgorithmConcept Learning - Find S Algorithm,Candidate Elimination Algorithm
Concept Learning - Find S Algorithm,Candidate Elimination Algorithm
Global Academy of Technology
 
DE-UNIT-V MEMORY DEVICES AND DIGITAL INTEGRATED CIRCUITS
DE-UNIT-V MEMORY DEVICES AND DIGITAL INTEGRATED CIRCUITSDE-UNIT-V MEMORY DEVICES AND DIGITAL INTEGRATED CIRCUITS
DE-UNIT-V MEMORY DEVICES AND DIGITAL INTEGRATED CIRCUITS
Sridhar191373
 
International Journal of Advance Robotics & Expert Systems (JARES)
International Journal of Advance Robotics & Expert Systems (JARES)International Journal of Advance Robotics & Expert Systems (JARES)
International Journal of Advance Robotics & Expert Systems (JARES)
jaresjournal868
 
2. CT M35 Grade Concrete Mix design ppt.pdf
2. CT M35 Grade Concrete Mix design  ppt.pdf2. CT M35 Grade Concrete Mix design  ppt.pdf
2. CT M35 Grade Concrete Mix design ppt.pdf
smghumare
 
Silent-Aire Quality Orientation - OFCI_GC - EVAP Unit REV2.pdf
Silent-Aire Quality Orientation - OFCI_GC - EVAP Unit REV2.pdfSilent-Aire Quality Orientation - OFCI_GC - EVAP Unit REV2.pdf
Silent-Aire Quality Orientation - OFCI_GC - EVAP Unit REV2.pdf
EfrainGarrilloRuiz1
 
Advanced Concrete Technology- Properties of Admixtures
Advanced Concrete Technology- Properties of AdmixturesAdvanced Concrete Technology- Properties of Admixtures
Advanced Concrete Technology- Properties of Admixtures
Bharti Shinde
 
1.10 Functions in C++,call by value .pdf
1.10 Functions in C++,call by value .pdf1.10 Functions in C++,call by value .pdf
1.10 Functions in C++,call by value .pdf
VikasNirgude2
 
world subdivision.pdf...................
world subdivision.pdf...................world subdivision.pdf...................
world subdivision.pdf...................
bmmederos12
 
ResearchTalks #4. Have you been listening ? Because we have !
ResearchTalks #4. Have you been listening ? Because we have !ResearchTalks #4. Have you been listening ? Because we have !
ResearchTalks #4. Have you been listening ? Because we have !
ResearchTalks Conferences
 
MODULE 4 BUILDING PLANNING AND DESIGN SY BTECH HVAC SYSTEM IN BUILDING
MODULE 4 BUILDING PLANNING AND DESIGN SY BTECH HVAC SYSTEM IN BUILDINGMODULE 4 BUILDING PLANNING AND DESIGN SY BTECH HVAC SYSTEM IN BUILDING
MODULE 4 BUILDING PLANNING AND DESIGN SY BTECH HVAC SYSTEM IN BUILDING
Dr. BASWESHWAR JIRWANKAR
 
BEC602- Module 3-2-Notes.pdf.Vlsi design and testing notes
BEC602- Module 3-2-Notes.pdf.Vlsi design and testing notesBEC602- Module 3-2-Notes.pdf.Vlsi design and testing notes
BEC602- Module 3-2-Notes.pdf.Vlsi design and testing notes
VarshithaP6
 
world subdivision.pdf...................
world subdivision.pdf...................world subdivision.pdf...................
world subdivision.pdf...................
bmmederos10
 
Kevin Corke Spouse Revealed A Deep Dive Into His Private Life.pdf
Kevin Corke Spouse Revealed A Deep Dive Into His Private Life.pdfKevin Corke Spouse Revealed A Deep Dive Into His Private Life.pdf
Kevin Corke Spouse Revealed A Deep Dive Into His Private Life.pdf
Medicoz Clinic
 
DIY Gesture Control ESP32 LiteWing Drone using Python
DIY Gesture Control ESP32 LiteWing Drone using  PythonDIY Gesture Control ESP32 LiteWing Drone using  Python
DIY Gesture Control ESP32 LiteWing Drone using Python
CircuitDigest
 
Air Filter Flat Sheet Media-Catalouge-Final.pdf
Air Filter Flat Sheet Media-Catalouge-Final.pdfAir Filter Flat Sheet Media-Catalouge-Final.pdf
Air Filter Flat Sheet Media-Catalouge-Final.pdf
FILTRATION ENGINEERING & CUNSULTANT
 
Internship_certificate_by_edunetfoundation.pdf
Internship_certificate_by_edunetfoundation.pdfInternship_certificate_by_edunetfoundation.pdf
Internship_certificate_by_edunetfoundation.pdf
prikshitgautam27
 
Video Games and Artificial-Realities.pptx
Video Games and Artificial-Realities.pptxVideo Games and Artificial-Realities.pptx
Video Games and Artificial-Realities.pptx
HadiBadri1
 
Introduction-to-Prestressed-Concrete.pdf
Introduction-to-Prestressed-Concrete.pdfIntroduction-to-Prestressed-Concrete.pdf
Introduction-to-Prestressed-Concrete.pdf
Bharti Shinde
 
Filters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility ApplicationsFilters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility Applications
Mathias Magdowski
 
FTS under Indiandadsadsadsadsadsadsa DTAA.pdf
FTS under Indiandadsadsadsadsadsadsa DTAA.pdfFTS under Indiandadsadsadsadsadsadsa DTAA.pdf
FTS under Indiandadsadsadsadsadsadsa DTAA.pdf
HimanshuSharma779547
 
Concept Learning - Find S Algorithm,Candidate Elimination Algorithm
Concept Learning - Find S Algorithm,Candidate Elimination AlgorithmConcept Learning - Find S Algorithm,Candidate Elimination Algorithm
Concept Learning - Find S Algorithm,Candidate Elimination Algorithm
Global Academy of Technology
 
DE-UNIT-V MEMORY DEVICES AND DIGITAL INTEGRATED CIRCUITS
DE-UNIT-V MEMORY DEVICES AND DIGITAL INTEGRATED CIRCUITSDE-UNIT-V MEMORY DEVICES AND DIGITAL INTEGRATED CIRCUITS
DE-UNIT-V MEMORY DEVICES AND DIGITAL INTEGRATED CIRCUITS
Sridhar191373
 
International Journal of Advance Robotics & Expert Systems (JARES)
International Journal of Advance Robotics & Expert Systems (JARES)International Journal of Advance Robotics & Expert Systems (JARES)
International Journal of Advance Robotics & Expert Systems (JARES)
jaresjournal868
 
2. CT M35 Grade Concrete Mix design ppt.pdf
2. CT M35 Grade Concrete Mix design  ppt.pdf2. CT M35 Grade Concrete Mix design  ppt.pdf
2. CT M35 Grade Concrete Mix design ppt.pdf
smghumare
 
Silent-Aire Quality Orientation - OFCI_GC - EVAP Unit REV2.pdf
Silent-Aire Quality Orientation - OFCI_GC - EVAP Unit REV2.pdfSilent-Aire Quality Orientation - OFCI_GC - EVAP Unit REV2.pdf
Silent-Aire Quality Orientation - OFCI_GC - EVAP Unit REV2.pdf
EfrainGarrilloRuiz1
 
Advanced Concrete Technology- Properties of Admixtures
Advanced Concrete Technology- Properties of AdmixturesAdvanced Concrete Technology- Properties of Admixtures
Advanced Concrete Technology- Properties of Admixtures
Bharti Shinde
 
1.10 Functions in C++,call by value .pdf
1.10 Functions in C++,call by value .pdf1.10 Functions in C++,call by value .pdf
1.10 Functions in C++,call by value .pdf
VikasNirgude2
 
world subdivision.pdf...................
world subdivision.pdf...................world subdivision.pdf...................
world subdivision.pdf...................
bmmederos12
 
ResearchTalks #4. Have you been listening ? Because we have !
ResearchTalks #4. Have you been listening ? Because we have !ResearchTalks #4. Have you been listening ? Because we have !
ResearchTalks #4. Have you been listening ? Because we have !
ResearchTalks Conferences
 
MODULE 4 BUILDING PLANNING AND DESIGN SY BTECH HVAC SYSTEM IN BUILDING
MODULE 4 BUILDING PLANNING AND DESIGN SY BTECH HVAC SYSTEM IN BUILDINGMODULE 4 BUILDING PLANNING AND DESIGN SY BTECH HVAC SYSTEM IN BUILDING
MODULE 4 BUILDING PLANNING AND DESIGN SY BTECH HVAC SYSTEM IN BUILDING
Dr. BASWESHWAR JIRWANKAR
 
BEC602- Module 3-2-Notes.pdf.Vlsi design and testing notes
BEC602- Module 3-2-Notes.pdf.Vlsi design and testing notesBEC602- Module 3-2-Notes.pdf.Vlsi design and testing notes
BEC602- Module 3-2-Notes.pdf.Vlsi design and testing notes
VarshithaP6
 
world subdivision.pdf...................
world subdivision.pdf...................world subdivision.pdf...................
world subdivision.pdf...................
bmmederos10
 
Kevin Corke Spouse Revealed A Deep Dive Into His Private Life.pdf
Kevin Corke Spouse Revealed A Deep Dive Into His Private Life.pdfKevin Corke Spouse Revealed A Deep Dive Into His Private Life.pdf
Kevin Corke Spouse Revealed A Deep Dive Into His Private Life.pdf
Medicoz Clinic
 
DIY Gesture Control ESP32 LiteWing Drone using Python
DIY Gesture Control ESP32 LiteWing Drone using  PythonDIY Gesture Control ESP32 LiteWing Drone using  Python
DIY Gesture Control ESP32 LiteWing Drone using Python
CircuitDigest
 
Internship_certificate_by_edunetfoundation.pdf
Internship_certificate_by_edunetfoundation.pdfInternship_certificate_by_edunetfoundation.pdf
Internship_certificate_by_edunetfoundation.pdf
prikshitgautam27
 
Video Games and Artificial-Realities.pptx
Video Games and Artificial-Realities.pptxVideo Games and Artificial-Realities.pptx
Video Games and Artificial-Realities.pptx
HadiBadri1
 
Introduction-to-Prestressed-Concrete.pdf
Introduction-to-Prestressed-Concrete.pdfIntroduction-to-Prestressed-Concrete.pdf
Introduction-to-Prestressed-Concrete.pdf
Bharti Shinde
 
Filters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility ApplicationsFilters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility Applications
Mathias Magdowski
 

Lecture01_IntroToLinuxAndEmbeddedSystems.pptx

  • 1. © 2017 Arm Limited Embedded Linux Introduction
  • 2. © 2017 Arm Limited 2 Summary Course structure Introduction to embedded systems Linux in embedded systems
  • 3. © 2017 Arm Limited 3 Course Structure Module 1: Linux in Embedded Systems • Definition of embedded systems • Examples Module 2: Linux-based Embedded System Component Stack • Bootloader • Kernel • Root file system • Device tree • System programs • Application
  • 4. © 2017 Arm Limited 4 Course Structure Module 3: Anatomy of a Linux-based system • The Linux Kernel internals • Device tree • System programs and BusyBox Module 4: Configuration & Build Process of an Embedded Linux System • Buildroot • Yocto Module 5: Introduction to Linux Kernel Modules • CPU – I/O interface • I/O taxonomy • Linux devices • Virtual file system abstraction • Linux Kernel modules
  • 5. © 2017 Arm Limited 5 Course Structure Module 6: Communication Between Kernel and User Space • Module level communication point of view • User level communication point of view Module 7: Application Demo: Building a Ranging Sensor Kernel Module • The sysfs file system • Building Linux support for the HC-SR04 ultrasonic ranging sensor Module 8: System Debugging & Profiling lab exercises The majority of the theoretical lectures will be complemented with lab exercises.
  • 6. © 2017 Arm Limited 6 Summary Course structure Introduction to embedded systems Linux in embedded systems
  • 7. © 2017 Arm Limited 7 What Is an Embedded System? It is a special-purpose computer designed for a specific application. Example of application: internal combustion engine (ICE) Example of embedded system: electronic control unit for ICE
  • 8. © 2017 Arm Limited 8 Embedded System Components Two main components • Application • Platform Application • Software that implements the functionalities for which the embedded system is intended (e.g., to control an ICE) Platform • Combination of hardware and basic software components that provides the services needed for the application to run • Basic software includes system programs, operating system, bootloader Hardware Application System Programs Platform System Call Interface Process Management Virtual File System Memory Management Network Management Device Drivers Bootloader Operating System Basic Software
  • 9. © 2017 Arm Limited 9 Basic Software Abstracts the hardware details by providing easy- to-use functionalities, such as: • Access to the resources through user-friendly utilities known as system programs • Example: ls to list the content of a directory • Efficient access to the resources provided by the hardware through the operating system • Example: CPU real-time scheduling, device driver management • Initialization of hardware resources at power-up and execution of the operating system through the bootloader System Programs System Call Interface Process Management Virtual File System Memory Management Network Management Device Drivers Bootloader Operating System Basic Software
  • 10. © 2017 Arm Limited 10 Operating Systems for Embedded Systems There are many solutions available which serve different purposes depending on the requirements of the application. • Example 1 • Needs: deterministic real-time operating system for low-cost devices, with little memory footprint • Possible solutions: ARM RTX, Micrium mC/OS, FreeRTOS, and others • Example 2 • Needs: multi-core and networking support, advanced graphics, and complex device handling • Possible solutions: Linux, Android, and Windows Example 1: deterministic real-time system http://linuxgizmos.com/linux-based-in-vehicle-infotainment-on-the-rise/ Example 2: in-vehicle infotainment
  • 11. © 2017 Arm Limited 11 Summary Course structure Introduction to embedded systems Linux in embedded systems
  • 12. © 2017 Arm Limited 12 Why Linux-based Embedded Systems? Open Source (under GNU General Public License v2.0 : GPLv2) • The full source code is available for learning and adaptation Engaged community maintaining and improving Linux regularly • Companies • Individuals • Academics • Hobbyists Flexible and adaptable: supports many hardware/System-on-Chip (SoC) configurations • Based on ARM, x86, PowerPC, SPARC, etc. Proven in many different scenarios (see next slides) Supported by a very large ecosystem of software • Bootloader, system programs, networking services, advanced graphic services, etc. Royalty-free
  • 13. © 2017 Arm Limited 13 Linux Evolution August 26, 1991: everything started with this post to comp.os.minix Today several kernel categories exist, including: • Prepatch or "RC" kernels, which are pre-releases maintained and released by Linus Torvalds. • Mainline kernel is maintained by Linus Torvalds, and is where all new features are introduced. New mainline kernels are released every 2-3 months. • Long-term kernels are older releases subject to “long-term maintenance”. Important bug fixes are applied to such kernels. https://www.kernel.org/category/releases.html
  • 14. © 2017 Arm Limited 14 Linux-based Embedded System: Example 1 In-flight entertainment systems http://www.linuxinsider.com/story/ The-Flying-Penguin-Linux-In-Flight-Entertainment-Systems-65541.html “Linux is particularly suited for in-flight entertainment because it's simple, not weighed down by accompanying programs, and easily adaptable to many environments.” http://www.linuxinsider.com/story/The-Flying-Penguin-Linux-In-Flight-Entertainment-Systems-65541.html
  • 15. © 2017 Arm Limited 15 Linux-based Embedded System: Example 2 Tim Horton’s Café and Bake Shop The screen displays the messages Linux produces during boot-up. In particular, we can recognize a kernel panic, as the kernel is not able to find the root file system.
  • 16. © 2017 Arm Limited 16 Linux-based Embedded System: Example 3 A gas station pump The screen displays the messages of a Linux bootloader. This gas station is powered by Linux Ubuntu distribution with Kernel 2.6.35.

Editor's Notes

  • #1: Hello and welcome to this Linux for Embedded Systems lecture. This is the first lecture of the course.
  • #2: We will begin by looking at the structure of the course.
  • #3: The Embedded Linux Course is organized into several modules, each comprising theoretical lectures, practical labs, and exercises.   The course teaches students how to build a custom Linux distribution that supports development of embedded systems, as well as provides them with the experience of programming device drivers. These outcomes are intended as the industry requires engineers with the skills to configure and customize the Linux kernel for custom-developed hardware. There is also a need in the industry for custom configuration of Linux distributions for embedded applications, which seldom match general-purpose Linux distributions such as Ubuntu or Debian.   Module 1 provides a brief introduction to Linux for embedded systems and defines what embedded systems are, as well as provides some real-world examples of their usage.   Module 2 goes over the Linux-based embedded system component stack. This provides details on a variety of components that are found in embedded Linux systems, such as the bootloader, kernel, root file system, device tree, system programs, and applications.
  • #4: Module 3 covers the anatomy of a Linux-based system. This goes into detail on the internals of a Linux kernel, the device tree, and system programs.   Module 4 looks at the configuration and build process of an embedded Linux system. This includes different tools that are useful for assisting the process such as Yocto.   Module 5 entails a range of topics from the central processing unit and input/output (CPU-I/O) interface to the virtual file system and finally introduces Linux kernel modules.
  • #5: Module 6 delves into the communication between kernel and user space, more specifically looking at the module-level communication point of view, as well as the user-level communication point of view.   Module 7 is a demo that will run through building a ranging sensor kernel module that can be deployed onto a Linux-embedded system and used for a number of tasks.   Module 8 covers the important ability to debug and profile applications/hardware to identify issues or bottlenecks, as well as improve efficiency and power consumption.   A number of these lectures will be complemented with lab exercises that will take the student through a practical usage of the theory.
  • #6: Next is a small introduction to embedded systems.
  • #7: There are many ways to define an embedded system. One possible definition is to describe it as a special-purpose computer that is designed for a specific application or purpose. An embedded system is a computer; it has a processor, memory, and input/output (I/O) devices. However, it is not the same as a conventional, general-purpose computer such as a laptop or desktop. The processor, memory, and I/O devices that power an embedded system are carefully selected to provide the minimum amount of resources needed to fulfil the requirement of a specific application. This is in contrast with conventional, general-use computers, where the resources are determined by the user’s budget: having a higher budget allows spending on more capable processers, larger memory, and faster mass storage.   For example, if an embedded system must execute control algorithms for an internal combustion engine, its I/Os will be custom designed to allow interfacing with the sensors (e.g., temperature and pressure sensors) and actuators (e.g., injectors, candles, and throttle).   Its memory will be tailored to accommodate only the control algorithm, and its processor will be selected to guarantee correct timing behavior for the algorithm. This embedded computer will seldom be expandable, and if a new application is developed, part of the embedded computer will probably have to be redesigned.
  • #8: It helps to consider an embedded system as two main parts. The first part is the application, which is the software that provides the user with the needed service (e.g., to calibrate the amount of fuel to inject in the combustion chambers correctly, and the proper ignition timing to satisfy a given torque request). The second part is the underlying platform, which is the combination of basic software and hardware that provides the application with the resources it needs to perform its task.   The software level abstracts the hardware details by providing high-level, easy-to-use functions. This provides access to the resources through system programs. An example of this is the “ls” command, which lists the content of a directory. It also enables efficient access to the resources provided by the hardware through the operating system. An example of this is the CPU’s real-time scheduling and device driver management.   The software segment can be broken down even further into the bootloader, the operating system, and the system programs.
  • #9: The bootloader is a program that is to be executed upon start-up of the device. Its duty is to initialize the hardware to enable the execution of the operating system and the system programs.   The operating system oversees defining an abstraction of the hardware to make it more user-friendly and efficient.   The system programs are a set of utilities that allow the application to access the resources provided by the platform.
  • #10: There are numerous operating systems available in the modern day, refined and tailored to fulfilling different needs. The needs of the application in question must be the first consideration when choosing a suitable operating system. If an application exhibits real-time requirements (i.e., the ability to show deterministic behavior that always performs allocated tasks by a given set of deadlines), then a real-time operating system is required (e.g., Arm RTX and FreeRTOS). Conversely, if an application needs support for multi-core processing and high-end graphics, then a different class of operating systems, such as Linux or Android, should be considered.
  • #11: Why is Linux so widely used on embedded systems?
  • #12: Today, Linux can be found in embedded systems of many sizes, from mobile phones, home appliances, or vehicles infotainment to the International Space Station.   Linux’s popularity is due to a number of factors. First, it is open source. This means that anyone can access the Linux source code, study it, and modify it in order to tailor it to their specific requirements.   Another contributing factor to Linux’s popularity is its strong and committed community that helps to maintain and update Linux regularly. This community is made up of companies, individuals, academics, and hobbyists.   Something that is very useful for engineers is the flexibility of Linux. It can support just about any hardware architecture you can think of: Arm, x86, PowerPC, the list goes on.   Given its deployment in millions of devices across the world, its code is constantly tested and put into practical scenarios. This means that its usage legacy is always becoming more and more robust.   It is also supported by a huge ecosystem of software that consists of both runtime software (e.g., graphics libraries, networking stacks, or device drivers) and development tools (e.g., compilers, debuggers, or profilers).   Finally, it is royalty-free, meaning that no payment is required if a product using Linux is manufactured and sold. This makes Linux very appealing for industries with a large user base, such as consumer or automotive products.
  • #13: Looking into the evolution of Linux, it was announced on August 26, 1991, by a then unknown Linus Torvalds. Within a few years, it developed a huge user base and supporting community. Today, different kernel categories exist to reflect different maturity levels of the code-base. These categories are prepatch, mainline, and long term. Prepatch or “RC” kernels are pre-releases that are maintained and released by Linus Torvalds. Mainline kernels are maintained by Linus Torvalds and are where all the new features are introduced. These are typically released every two to three months. Finally, long-term kernels are older releases that are subject to “long-term maintenance”. Important bug fixes are applied to these kernels.   From an industrial perspective, the long-term kernel is particularly relevant. These kernel code-bases undergo bug fixes for two to five years. This gives industrial designers confidence that the code in the device they are creating will be regularly maintained and fixed for a relatively long period of time. This helps avoid the problem of early obsolescence.
  • #14: There are countless examples of real-world Linux-based embedded system applications.   Linux is particularly suited for in-flight entertainment because of its lightweight nature. It is simple, not weighed down by accompanying programs, and it is easily adaptable to many environments.
  • #15: It is used for electronic boards that display information, in this case, in a Café. As we can see here, the screen displays the messages that Linux produces during boot-up. In particular, we can recognize a kernel panic, as the kernel is not able to find the root file system.
  • #16: Even gas station pumps make use of it! In this picture, the screen displays the messages of the Linux bootloader. This gas station is powered by the Linux Ubuntu distribution with Kernel 2.6.35.   These are just a few examples, but get you thinking about just how many applications there are for Linux on embedded systems.   This concludes the first lecture on Linux for Embedded Systems. In the next module, we will take a closer look at a Linux component stack often used in embedded systems.