SlideShare a Scribd company logo
1 of 16
Introduction to Embedded Linux
and Device Drivers
www.definecareer.com
What is an Embedded system?
An embedded system is a special-purpose computer
system designed to perform one or a few dedicated
functions, often with real-time computing constraints.
 It is usually embedded as part of a complete device
including hardware and mechanical parts.
In contrast, a general-purpose computer, such as a
personal computer, can do many different tasks
depending on programming.
Embedded systems control many of the common
devices in use today.
Embedded System Products
Linux
The Free Software and Open Source world offers a
broad range of tools to develop embedded systems.
Advantages
Reuse of existing components for the base system
Allows to focus on the added value of the product.
High quality, proven components (Linux kernel, C
libraries...)
Complete control on the choice of components
Modifications possible without external constraints
Community support: tutorials, mailing lists...
Low cost, in particular no per-unit royalties.
Potentially less legal issues.
Easier access to software and tools.
Linux Architecture
Hardware
Boot loader
Linux kernel
Standard C library
Library Library Library
Application
Tools
Embedded Hardware
Hardware for embedded systems is often different
from hardware for classical systems.
Often a different CPU architecture: ARM, MIPS or
PowerPC. Intel atom based on x86 arch is also used.
Storage on flash : NOR or NAND type, often with
limited capacity (from a few hundreds of MB to few
GB)
Limited RAM capacity (from a few tens of MB to
several hundreds of MB)
Many interconnect buses generally not often found
on the desktop: I2C, SPI, SSP, CAN, etc.
Minimum System HW Req
A CPU supported by gcc and the Linux kernel
32 bit CPU
MMU-less CPUs are also supported, through the
uClinux project.
A few MB of RAM (4 MB), 8 MB are needed to
really do something.
Linux isn't designed for small microcontrollers that
just have a few tens or hundreds of KB of flash and
RAM.
Base metal, no OS
Reduced systems, such as FreeRTOS , Nucleus
SW Comp’s Req for Development
Cross-compilation tool chain
Compiler that runs on the development machine, but
generates code for the target
Bootloader
Started by the hardware, responsible for basic
initialization, loading and executing the kernel
Linux Kernel
Contains the process and memory management,
network stack, device drivers and provides services to
userspace applications
C library
The interface between the kernel and the userspace
applications
Libraries and applications
Third-party or in-house
Driver Development
Kernel Architecture for Device Drivers
Embedded Linux Driver
Development
Kernel and Device Drivers
Application
System call interface
Framework
Driver
Bus infrastructure
Hardware
Userspace
Kernel
Unified Device Model
The 2.6 kernel included a significant new feature: a unified device
Model :
 Instead of having different ad-hoc mechanisms in the various
subsystems, the device model unifies the description of the
devices and their topology
 Minimization of code duplication
 Common facilities (reference counting, event notification,
power management, etc.)
 Enumerate the devices, view their interconnections, link
the devices to their buses and drivers, etc.
 Understanding the device model is necessary to understand
how device drivers fit into the Linux kernel architecture.
Bus Drivers
 The first component of the device model is the bus driver;
 One bus driver for each type of bus: USB, PCI, SPI, MMC, I2C, etc.
 It is responsible for:
 Registering the bus type (struct bus_type)
 Allowing the registration of adapter drivers (USB controllers,
I2C adapters, etc.), able of detecting the connected devices,
and providing a communication mechanism with the devices
 Allowing the registration of device drivers (USB devices, I2C
devices, PCI devices, etc.), managing the devices
 Matching the device drivers against the devices detected by
the adapter drivers
 Provides an API to both adapter drivers and device drivers
 Defining driver and device specific structure, typically
xxx_driver and xxx_device
Example: USB Bus
USB core
Registers the bus_type structure
USB adapter
driver A
USB adapter
driver B
USB device
driver 1
USB device
driver 2
USB device
driver 3
System
USB1
USB2
DEV1 DEV2
DEV3 DEV4 DEV5
Platform Devices
 On embedded systems, devices are often not connected
through a bus allowing enumeration, hot plugging, and
providing unique identifiers for devices.
 However, we still want the devices to be part of the device
model.
 The solution to this is the platform driver / platform device
infrastructure.
 The platform devices are the devices that are directly
connected to the CPU, without any kind of bus.
Linux DD Course Content
Overview
Understanding the Linux kernel
 Understanding the development process
 Kernel Internals
 Root file system development from scratch
 Developing Linux device drivers
 Driver architecture
 Development of char driver
 Working with the kernel development community
 Practical labs with ARM boards as well as emulated
PC systems
 Duration
 50 hrs
For further queries/enquiries contact :training@definecareer.com
Thank you!

More Related Content

What's hot

Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and PropertiesSaadi Rahman
 
Intoduction to VirtualBox English
Intoduction to VirtualBox EnglishIntoduction to VirtualBox English
Intoduction to VirtualBox EnglishKichiemon Adachi
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGlobalLogic Ukraine
 
Introduction to linux containers
Introduction to linux containersIntroduction to linux containers
Introduction to linux containersGoogle
 
Q4.11: Introduction to eMMC
Q4.11: Introduction to eMMCQ4.11: Introduction to eMMC
Q4.11: Introduction to eMMCLinaro
 
P ism(pen style personal networking gadget)
P ism(pen style personal networking gadget)P ism(pen style personal networking gadget)
P ism(pen style personal networking gadget)aparnasukumaar
 
Introduction to Linux basic
Introduction to Linux basicIntroduction to Linux basic
Introduction to Linux basicf114n
 
IBM MQ Disaster Recovery
IBM MQ Disaster RecoveryIBM MQ Disaster Recovery
IBM MQ Disaster RecoveryMarkTaylorIBM
 
Virtualization Support in ARMv8+
Virtualization Support in ARMv8+Virtualization Support in ARMv8+
Virtualization Support in ARMv8+Aananth C N
 
Red Hat Enterprise Virtualization
Red Hat Enterprise VirtualizationRed Hat Enterprise Virtualization
Red Hat Enterprise Virtualizationhipark
 
Linux Kernel Cryptographic API and Use Cases
Linux Kernel Cryptographic API and Use CasesLinux Kernel Cryptographic API and Use Cases
Linux Kernel Cryptographic API and Use CasesKernel TLV
 
VMware vSphere Storage Appliance (VSA) - Technical Presentation,Almacenamien...
VMware vSphere Storage Appliance (VSA) -  Technical Presentation,Almacenamien...VMware vSphere Storage Appliance (VSA) -  Technical Presentation,Almacenamien...
VMware vSphere Storage Appliance (VSA) - Technical Presentation,Almacenamien...Suministros Obras y Sistemas
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VRISC-V International
 
Universal flash storage
Universal flash storageUniversal flash storage
Universal flash storageDooyong Lee
 
Configuring wifi in open embedded builds
Configuring wifi in open embedded buildsConfiguring wifi in open embedded builds
Configuring wifi in open embedded buildsMender.io
 

What's hot (20)

Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and Properties
 
Intoduction to VirtualBox English
Intoduction to VirtualBox EnglishIntoduction to VirtualBox English
Intoduction to VirtualBox English
 
File systems for Embedded Linux
File systems for Embedded LinuxFile systems for Embedded Linux
File systems for Embedded Linux
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive Solutions
 
Introduction to linux containers
Introduction to linux containersIntroduction to linux containers
Introduction to linux containers
 
Q4.11: Introduction to eMMC
Q4.11: Introduction to eMMCQ4.11: Introduction to eMMC
Q4.11: Introduction to eMMC
 
Xen Debugging
Xen DebuggingXen Debugging
Xen Debugging
 
Containers 101
Containers 101Containers 101
Containers 101
 
P ism(pen style personal networking gadget)
P ism(pen style personal networking gadget)P ism(pen style personal networking gadget)
P ism(pen style personal networking gadget)
 
Introduction to Linux basic
Introduction to Linux basicIntroduction to Linux basic
Introduction to Linux basic
 
IBM MQ Disaster Recovery
IBM MQ Disaster RecoveryIBM MQ Disaster Recovery
IBM MQ Disaster Recovery
 
Virtualization Support in ARMv8+
Virtualization Support in ARMv8+Virtualization Support in ARMv8+
Virtualization Support in ARMv8+
 
Red Hat Enterprise Virtualization
Red Hat Enterprise VirtualizationRed Hat Enterprise Virtualization
Red Hat Enterprise Virtualization
 
Linux Kernel Cryptographic API and Use Cases
Linux Kernel Cryptographic API and Use CasesLinux Kernel Cryptographic API and Use Cases
Linux Kernel Cryptographic API and Use Cases
 
VMware vSphere Storage Appliance (VSA) - Technical Presentation,Almacenamien...
VMware vSphere Storage Appliance (VSA) -  Technical Presentation,Almacenamien...VMware vSphere Storage Appliance (VSA) -  Technical Presentation,Almacenamien...
VMware vSphere Storage Appliance (VSA) - Technical Presentation,Almacenamien...
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-V
 
Universal flash storage
Universal flash storageUniversal flash storage
Universal flash storage
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
 
systemd
systemdsystemd
systemd
 
Configuring wifi in open embedded builds
Configuring wifi in open embedded buildsConfiguring wifi in open embedded builds
Configuring wifi in open embedded builds
 

Similar to Introduction to embedded linux device driver and firmware

Ch20 OS
Ch20 OSCh20 OS
Ch20 OSC.U
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionSherif Mousa
 
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 KuteTushar B Kute
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded LinuxTushar B Kute
 
An introduction to digital signal processors 1
An introduction to digital signal processors 1An introduction to digital signal processors 1
An introduction to digital signal processors 1Hossam Hassan
 
Operating system Definition Structures
Operating  system Definition  StructuresOperating  system Definition  Structures
Operating system Definition Structuresanair23
 
Introduction to Operating system for BCA syllabus
Introduction to Operating system for BCA syllabusIntroduction to Operating system for BCA syllabus
Introduction to Operating system for BCA syllabusVidyapol1
 
Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systemsVandana Salve
 
Linux architecture
Linux architectureLinux architecture
Linux architecturemcganesh
 
Linux architecture
Linux architectureLinux architecture
Linux architecturemcganesh
 
Linux internal
Linux internalLinux internal
Linux internalmcganesh
 
Driver Programming Report
Driver Programming ReportDriver Programming Report
Driver Programming ReportShivek Khurana
 

Similar to Introduction to embedded linux device driver and firmware (20)

Operating system
Operating systemOperating system
Operating system
 
Ch22
Ch22Ch22
Ch22
 
OS_Ch20
OS_Ch20OS_Ch20
OS_Ch20
 
OSCh20
OSCh20OSCh20
OSCh20
 
Ch20 OS
Ch20 OSCh20 OS
Ch20 OS
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems Introduction
 
Chapter 5.0
Chapter 5.0Chapter 5.0
Chapter 5.0
 
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
 
Information sheet 1
Information sheet 1Information sheet 1
Information sheet 1
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded Linux
 
An introduction to digital signal processors 1
An introduction to digital signal processors 1An introduction to digital signal processors 1
An introduction to digital signal processors 1
 
Operating system Definition Structures
Operating  system Definition  StructuresOperating  system Definition  Structures
Operating system Definition Structures
 
Introduction to Operating system for BCA syllabus
Introduction to Operating system for BCA syllabusIntroduction to Operating system for BCA syllabus
Introduction to Operating system for BCA syllabus
 
Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systems
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
 
Linux internal
Linux internalLinux internal
Linux internal
 
Driver Programming Report
Driver Programming ReportDriver Programming Report
Driver Programming Report
 
Cs8493 unit 5
Cs8493 unit 5Cs8493 unit 5
Cs8493 unit 5
 
CS8493-OS-Unit-5.pdf
CS8493-OS-Unit-5.pdfCS8493-OS-Unit-5.pdf
CS8493-OS-Unit-5.pdf
 

Recently uploaded

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Introduction to embedded linux device driver and firmware

  • 1. Introduction to Embedded Linux and Device Drivers www.definecareer.com
  • 2. What is an Embedded system? An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions, often with real-time computing constraints.  It is usually embedded as part of a complete device including hardware and mechanical parts. In contrast, a general-purpose computer, such as a personal computer, can do many different tasks depending on programming. Embedded systems control many of the common devices in use today.
  • 4. Linux The Free Software and Open Source world offers a broad range of tools to develop embedded systems. Advantages Reuse of existing components for the base system Allows to focus on the added value of the product. High quality, proven components (Linux kernel, C libraries...) Complete control on the choice of components Modifications possible without external constraints Community support: tutorials, mailing lists... Low cost, in particular no per-unit royalties. Potentially less legal issues. Easier access to software and tools.
  • 5. Linux Architecture Hardware Boot loader Linux kernel Standard C library Library Library Library Application Tools
  • 6. Embedded Hardware Hardware for embedded systems is often different from hardware for classical systems. Often a different CPU architecture: ARM, MIPS or PowerPC. Intel atom based on x86 arch is also used. Storage on flash : NOR or NAND type, often with limited capacity (from a few hundreds of MB to few GB) Limited RAM capacity (from a few tens of MB to several hundreds of MB) Many interconnect buses generally not often found on the desktop: I2C, SPI, SSP, CAN, etc.
  • 7. Minimum System HW Req A CPU supported by gcc and the Linux kernel 32 bit CPU MMU-less CPUs are also supported, through the uClinux project. A few MB of RAM (4 MB), 8 MB are needed to really do something. Linux isn't designed for small microcontrollers that just have a few tens or hundreds of KB of flash and RAM. Base metal, no OS Reduced systems, such as FreeRTOS , Nucleus
  • 8. SW Comp’s Req for Development Cross-compilation tool chain Compiler that runs on the development machine, but generates code for the target Bootloader Started by the hardware, responsible for basic initialization, loading and executing the kernel Linux Kernel Contains the process and memory management, network stack, device drivers and provides services to userspace applications C library The interface between the kernel and the userspace applications Libraries and applications Third-party or in-house
  • 9. Driver Development Kernel Architecture for Device Drivers Embedded Linux Driver Development
  • 10. Kernel and Device Drivers Application System call interface Framework Driver Bus infrastructure Hardware Userspace Kernel
  • 11. Unified Device Model The 2.6 kernel included a significant new feature: a unified device Model :  Instead of having different ad-hoc mechanisms in the various subsystems, the device model unifies the description of the devices and their topology  Minimization of code duplication  Common facilities (reference counting, event notification, power management, etc.)  Enumerate the devices, view their interconnections, link the devices to their buses and drivers, etc.  Understanding the device model is necessary to understand how device drivers fit into the Linux kernel architecture.
  • 12. Bus Drivers  The first component of the device model is the bus driver;  One bus driver for each type of bus: USB, PCI, SPI, MMC, I2C, etc.  It is responsible for:  Registering the bus type (struct bus_type)  Allowing the registration of adapter drivers (USB controllers, I2C adapters, etc.), able of detecting the connected devices, and providing a communication mechanism with the devices  Allowing the registration of device drivers (USB devices, I2C devices, PCI devices, etc.), managing the devices  Matching the device drivers against the devices detected by the adapter drivers  Provides an API to both adapter drivers and device drivers  Defining driver and device specific structure, typically xxx_driver and xxx_device
  • 13. Example: USB Bus USB core Registers the bus_type structure USB adapter driver A USB adapter driver B USB device driver 1 USB device driver 2 USB device driver 3 System USB1 USB2 DEV1 DEV2 DEV3 DEV4 DEV5
  • 14. Platform Devices  On embedded systems, devices are often not connected through a bus allowing enumeration, hot plugging, and providing unique identifiers for devices.  However, we still want the devices to be part of the device model.  The solution to this is the platform driver / platform device infrastructure.  The platform devices are the devices that are directly connected to the CPU, without any kind of bus.
  • 15. Linux DD Course Content Overview Understanding the Linux kernel  Understanding the development process  Kernel Internals  Root file system development from scratch  Developing Linux device drivers  Driver architecture  Development of char driver  Working with the kernel development community  Practical labs with ARM boards as well as emulated PC systems  Duration  50 hrs For further queries/enquiries contact :training@definecareer.com