SlideShare a Scribd company logo
1 of 19
Download to read offline
A peek into Linux Device Driver KitOSI Days –2014November 7 & 8, NIMHANS, Bengaluru
Topics 
 Brief Introduction 
 Motivation & Challenges 
 Overview of the kit 
 Areas to explore 
 Conclusion
Brief Introduction
About Us 
 Emertxe is India’s one of the top IT finishing schools & self learning kits 
provider. Our primary focus is on Embedded with diversification focus on IT 
applications. 
 Our IT finishing school providers training programs for corporate, 
professionals and students in the following areas: 
o Embedded Systems (Beginners) 
o Advanced Linux workshops (Professionals) 
o IT Applications (Java, Android, Oracle) 
 Our product division works on IoT based solutions with major focus in 
Embedded aspect by focusing on the following areas: 
o Hardware design 
o Product engineering, integration and solutions 
o Linux porting and tuning 
o Embedded application development
Our vision 
Two fold “Vision” 
Education 
Contribute to “industry-academia” 
gap 
Solutions 
Build solutions to solve 
“common-problems” 
“Make life easier”
Motivation & Challenges
Motivation 
Diverse Hardware 
(Customisations, Multiple-vendor, 
Optimisation) 
Lack of resources 
(Formal courses, documentation, support) 
Setup and installation 
(SDKs, tool-chain, configuration) 
Too geeky! 
(Fear of getting bullied)
Practical challenges 
Hard to learn 
(Professionals, 
Enthusiasts, 
Students) 
No special 
devices 
(Most of them 
are fits-for-all) 
Enriched 
learning 
(Character, 
Block, multi-peripherals) 
Higher entry 
barrier 
(Giving up!)
Some questions! 
 Which driver should I work on to begin with? 
 Can I see some sample drivers? 
 I do not have specific hardware, where I can find one? 
 Can I write char, block drivers. What about interrupts? 
 I would like to implement USB, SCSI, Serial and Audio drivers. How to? 
Well a lot of can's, but we have something for you!
Overview of LDD Kit
Overview of LDD kit 
• Dedicated board 
• Rich peripheral support 
• On-board DFU interface for upgrading 
• Can act as a normal MC device as well 
Hardware 
• Currently supports Ubuntu distributions 
• Completely based on Open source 
• Firmware stack based on LUFA 
• AVR-GCC compiler 
SDK 
• Well documented setup & quick start guide 
• Sample device driver code 
• Test harness for validation and debugging 
Get “hands-dirty”
How it looks?
Hardware specifications 
 Atmel AT90USB162 
 2×16 Character LCD 
 RS232 
 8 LEDs 
 4 User Inputs 
 4 Seven Segment 
Displays
Hardware specifications 
 USB Powered 
 Audio Output Interface 
 SD (MMC) Card Support 
(Using SPI Interface) 
 8 GPIO Header 
 DFU Programmable (on-board)
Block diagram 
USB Host Controller 
Host Controller 
Driver 
USB Core 
Device Driver-2 
System Call 
Interface 
User Application 
Kernel 
LDD kit 
Users 
Device Driver-1 Device Driver-3
What you can create? 
RS232 interface (i/p and o/p) 
Interrupt handling (switches) 
I/O control 
Timers (LED control) 
Synchronization mechanisms 
SD/MMC Card driver 
SCSI Implementation 
USB Protocol 
SCSI over USB 
Simple drivers for LED, SSD, LCD 
USB to Serial converter 
Mass storage driver 
USB Audio 
Input drivers 
Character 
Block 
USB
Summary 
 Learning Linux device driver development is challenging 
 Our LDD kit tries to solve challenges by: 
 Having a dedicated hardware with very rich in peripherals 
 Larger problem of software is resolved by well documented & 
supported SDK 
 Having sample source code & self-learning stuff 
 By having whole ecosystem built with open source 
 With this we believe: 
 To make the learning easier 
 Contribute and make a difference to students, professionals and 
enthusiasts 
 Provide practical real-time learning experience
Stay connected 
Mubeen Jukaku: mubeenj@emertxe.com 
Emertxe Information Technologies, 
No-1, 9th Cross, 5th Main, 
Jayamahal Extension, 
Bangalore, Karnataka 560046 
T: +91 80 6562 9666 
https://www.facebook.com/Emertxe https://twitter.com/EmertxeTweet https://www.slideshare.net/EmertxeSlides
THANK YOU

More Related Content

What's hot

Assic 28th Lecture
Assic 28th LectureAssic 28th Lecture
Assic 28th Lecturebabak danyal
 
Introduction to intel galileo board gen2
Introduction to intel galileo board gen2Introduction to intel galileo board gen2
Introduction to intel galileo board gen2Harshit Srivastava
 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsEmbedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsAhmed El-Arabawy
 
Raspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionRaspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionMohamed Abdallah
 
What is system on chip (1)
What is system on chip (1)What is system on chip (1)
What is system on chip (1)Jagadeshgoud
 
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing WorldCloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing WorldOmer Kilic
 
Soc - Intro, Design Aspects, HLS, TLM
Soc - Intro, Design Aspects, HLS, TLMSoc - Intro, Design Aspects, HLS, TLM
Soc - Intro, Design Aspects, HLS, TLMSubhash Iyer
 
Soc architecture and design
Soc architecture and designSoc architecture and design
Soc architecture and designSatya Harish
 
Taking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded FrameworkTaking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded FrameworkOmer Kilic
 
Embedded platform choices
Embedded platform choicesEmbedded platform choices
Embedded platform choicesTavish Naruka
 
Computing Overview
Computing OverviewComputing Overview
Computing OverviewAmir Villas
 
Operating Systems 1 (4/12) - Architectures (Windows)
Operating Systems 1 (4/12) - Architectures (Windows)Operating Systems 1 (4/12) - Architectures (Windows)
Operating Systems 1 (4/12) - Architectures (Windows)Peter Tröger
 
An In-Depth Look Into Microcontrollers
An In-Depth Look Into MicrocontrollersAn In-Depth Look Into Microcontrollers
An In-Depth Look Into MicrocontrollersICS
 

What's hot (20)

Assic 28th Lecture
Assic 28th LectureAssic 28th Lecture
Assic 28th Lecture
 
Device Drivers
Device DriversDevice Drivers
Device Drivers
 
Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
 
Introduction to intel galileo board gen2
Introduction to intel galileo board gen2Introduction to intel galileo board gen2
Introduction to intel galileo board gen2
 
Skilling Entry Level Engineers in IoT - A Practical Approach
Skilling Entry Level Engineers in IoT - A Practical ApproachSkilling Entry Level Engineers in IoT - A Practical Approach
Skilling Entry Level Engineers in IoT - A Practical Approach
 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsEmbedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded Systems
 
SOC design
SOC design SOC design
SOC design
 
Raspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionRaspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 Introduction
 
What is system on chip (1)
What is system on chip (1)What is system on chip (1)
What is system on chip (1)
 
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing WorldCloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
 
Soc - Intro, Design Aspects, HLS, TLM
Soc - Intro, Design Aspects, HLS, TLMSoc - Intro, Design Aspects, HLS, TLM
Soc - Intro, Design Aspects, HLS, TLM
 
Soc architecture and design
Soc architecture and designSoc architecture and design
Soc architecture and design
 
Taking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded FrameworkTaking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded Framework
 
soc design for dsp applications
soc design for dsp applicationssoc design for dsp applications
soc design for dsp applications
 
Embedded platform choices
Embedded platform choicesEmbedded platform choices
Embedded platform choices
 
Computing Overview
Computing OverviewComputing Overview
Computing Overview
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Operating Systems 1 (4/12) - Architectures (Windows)
Operating Systems 1 (4/12) - Architectures (Windows)Operating Systems 1 (4/12) - Architectures (Windows)
Operating Systems 1 (4/12) - Architectures (Windows)
 
An In-Depth Look Into Microcontrollers
An In-Depth Look Into MicrocontrollersAn In-Depth Look Into Microcontrollers
An In-Depth Look Into Microcontrollers
 

Viewers also liked

Linux device driver
Linux device driverLinux device driver
Linux device driverchatsiri
 
Linux Device Driver Training-TutorialsDaddy
Linux Device Driver Training-TutorialsDaddyLinux Device Driver Training-TutorialsDaddy
Linux Device Driver Training-TutorialsDaddyStryker King
 
Linux Device Driver Introduction
Linux Device Driver IntroductionLinux Device Driver Introduction
Linux Device Driver IntroductionDavidChen0513
 
Linux Device Driver parallelism using SMP and Kernel Pre-emption
Linux Device Driver parallelism using SMP and Kernel Pre-emptionLinux Device Driver parallelism using SMP and Kernel Pre-emption
Linux Device Driver parallelism using SMP and Kernel Pre-emptionHemanth Venkatesh
 
linux device driver
linux device driverlinux device driver
linux device driverRahul Batra
 

Viewers also liked (20)

Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
Linux device driver
Linux device driverLinux device driver
Linux device driver
 
Linux Device Driver Training
Linux Device Driver TrainingLinux Device Driver Training
Linux Device Driver Training
 
Linux Device Driver Training-TutorialsDaddy
Linux Device Driver Training-TutorialsDaddyLinux Device Driver Training-TutorialsDaddy
Linux Device Driver Training-TutorialsDaddy
 
Linux Device Driver Introduction
Linux Device Driver IntroductionLinux Device Driver Introduction
Linux Device Driver Introduction
 
Linux Device Driver parallelism using SMP and Kernel Pre-emption
Linux Device Driver parallelism using SMP and Kernel Pre-emptionLinux Device Driver parallelism using SMP and Kernel Pre-emption
Linux Device Driver parallelism using SMP and Kernel Pre-emption
 
LINUX Device Drivers
LINUX Device DriversLINUX Device Drivers
LINUX Device Drivers
 
Eclipse - Installation and quick start guide
Eclipse - Installation and quick start guideEclipse - Installation and quick start guide
Eclipse - Installation and quick start guide
 
Emertxe Certified Embedded Professional (ECEP): Assessment system
Emertxe Certified Embedded Professional (ECEP): Assessment systemEmertxe Certified Embedded Professional (ECEP): Assessment system
Emertxe Certified Embedded Professional (ECEP): Assessment system
 
Building careers in embedded
Building careers in embeddedBuilding careers in embedded
Building careers in embedded
 
A practical guide to buildroot
A practical guide to buildrootA practical guide to buildroot
A practical guide to buildroot
 
U-Boot - An universal bootloader
U-Boot - An universal bootloader U-Boot - An universal bootloader
U-Boot - An universal bootloader
 
Advanced C
Advanced C Advanced C
Advanced C
 
linux device driver
linux device driverlinux device driver
linux device driver
 
Linux Internals - Part I
Linux Internals - Part ILinux Internals - Part I
Linux Internals - Part I
 
IoT : Whats in it for me?
IoT : Whats in it for me? IoT : Whats in it for me?
IoT : Whats in it for me?
 
Emertxe : Linux training portfolio
Emertxe : Linux training portfolioEmertxe : Linux training portfolio
Emertxe : Linux training portfolio
 
Getting started with BeagleBone Black - Embedded Linux
Getting started with BeagleBone Black - Embedded LinuxGetting started with BeagleBone Black - Embedded Linux
Getting started with BeagleBone Black - Embedded Linux
 
BusyBox for Embedded Linux
BusyBox for Embedded LinuxBusyBox for Embedded Linux
BusyBox for Embedded Linux
 
Linux Internals - Part III
Linux Internals - Part IIILinux Internals - Part III
Linux Internals - Part III
 

Similar to Peek into linux_device_driver_kit

02 - Getting Started with Arduino.pptx
02 - Getting Started with Arduino.pptx02 - Getting Started with Arduino.pptx
02 - Getting Started with Arduino.pptxssuser7effe0
 
Hardware and Software
Hardware and Software Hardware and Software
Hardware and Software Defron Dvl
 
Is Rust Programming ready for embedded development?
Is Rust Programming ready for embedded development?Is Rust Programming ready for embedded development?
Is Rust Programming ready for embedded development?Knoldus Inc.
 
Red Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
Red Hat® Ceph Storage and Network Solutions for Software Defined InfrastructureRed Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
Red Hat® Ceph Storage and Network Solutions for Software Defined InfrastructureIntel® Software
 
Taller IoT en la Actualidad
Taller IoT en la ActualidadTaller IoT en la Actualidad
Taller IoT en la ActualidadLaurence HR
 
Edje Project: The Software Foundation for IoT Devices
Edje Project: The Software Foundation for IoT DevicesEdje Project: The Software Foundation for IoT Devices
Edje Project: The Software Foundation for IoT DevicesMicroEJ
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 
Raju_Biswas_Resume
Raju_Biswas_ResumeRaju_Biswas_Resume
Raju_Biswas_ResumeRaju Biswas
 

Similar to Peek into linux_device_driver_kit (20)

Resume_sunil
Resume_sunilResume_sunil
Resume_sunil
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
 
resume_v36
resume_v36resume_v36
resume_v36
 
02 - Getting Started with Arduino.pptx
02 - Getting Started with Arduino.pptx02 - Getting Started with Arduino.pptx
02 - Getting Started with Arduino.pptx
 
Hardware and Software
Hardware and Software Hardware and Software
Hardware and Software
 
Internet of things : Beginners view
Internet of things : Beginners viewInternet of things : Beginners view
Internet of things : Beginners view
 
Sdxscs
SdxscsSdxscs
Sdxscs
 
Resume18
Resume18Resume18
Resume18
 
UEFI presentation
UEFI presentationUEFI presentation
UEFI presentation
 
resume10
resume10resume10
resume10
 
Is Rust Programming ready for embedded development?
Is Rust Programming ready for embedded development?Is Rust Programming ready for embedded development?
Is Rust Programming ready for embedded development?
 
KIRANKUMAR_MV
KIRANKUMAR_MVKIRANKUMAR_MV
KIRANKUMAR_MV
 
TULIKA KESHRI (1)
TULIKA KESHRI (1)TULIKA KESHRI (1)
TULIKA KESHRI (1)
 
Beagle board101 esc-boston-2009b
Beagle board101 esc-boston-2009bBeagle board101 esc-boston-2009b
Beagle board101 esc-boston-2009b
 
Red Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
Red Hat® Ceph Storage and Network Solutions for Software Defined InfrastructureRed Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
Red Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
 
Taller IoT en la Actualidad
Taller IoT en la ActualidadTaller IoT en la Actualidad
Taller IoT en la Actualidad
 
Edje Project: The Software Foundation for IoT Devices
Edje Project: The Software Foundation for IoT DevicesEdje Project: The Software Foundation for IoT Devices
Edje Project: The Software Foundation for IoT Devices
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
resume
resumeresume
resume
 
Raju_Biswas_Resume
Raju_Biswas_ResumeRaju_Biswas_Resume
Raju_Biswas_Resume
 

More from Emertxe Information Technologies Pvt Ltd

More from Emertxe Information Technologies Pvt Ltd (20)

premium post (1).pdf
premium post (1).pdfpremium post (1).pdf
premium post (1).pdf
 
Career Transition (1).pdf
Career Transition (1).pdfCareer Transition (1).pdf
Career Transition (1).pdf
 
10_isxdigit.pdf
10_isxdigit.pdf10_isxdigit.pdf
10_isxdigit.pdf
 
01_student_record.pdf
01_student_record.pdf01_student_record.pdf
01_student_record.pdf
 
02_swap.pdf
02_swap.pdf02_swap.pdf
02_swap.pdf
 
01_sizeof.pdf
01_sizeof.pdf01_sizeof.pdf
01_sizeof.pdf
 
07_product_matrix.pdf
07_product_matrix.pdf07_product_matrix.pdf
07_product_matrix.pdf
 
06_sort_names.pdf
06_sort_names.pdf06_sort_names.pdf
06_sort_names.pdf
 
05_fragments.pdf
05_fragments.pdf05_fragments.pdf
05_fragments.pdf
 
04_magic_square.pdf
04_magic_square.pdf04_magic_square.pdf
04_magic_square.pdf
 
03_endianess.pdf
03_endianess.pdf03_endianess.pdf
03_endianess.pdf
 
02_variance.pdf
02_variance.pdf02_variance.pdf
02_variance.pdf
 
01_memory_manager.pdf
01_memory_manager.pdf01_memory_manager.pdf
01_memory_manager.pdf
 
09_nrps.pdf
09_nrps.pdf09_nrps.pdf
09_nrps.pdf
 
11_pangram.pdf
11_pangram.pdf11_pangram.pdf
11_pangram.pdf
 
10_combinations.pdf
10_combinations.pdf10_combinations.pdf
10_combinations.pdf
 
08_squeeze.pdf
08_squeeze.pdf08_squeeze.pdf
08_squeeze.pdf
 
07_strtok.pdf
07_strtok.pdf07_strtok.pdf
07_strtok.pdf
 
06_reverserec.pdf
06_reverserec.pdf06_reverserec.pdf
06_reverserec.pdf
 
05_reverseiter.pdf
05_reverseiter.pdf05_reverseiter.pdf
05_reverseiter.pdf
 

Recently uploaded

Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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
 

Recently uploaded (20)

Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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
 

Peek into linux_device_driver_kit

  • 1. A peek into Linux Device Driver KitOSI Days –2014November 7 & 8, NIMHANS, Bengaluru
  • 2. Topics  Brief Introduction  Motivation & Challenges  Overview of the kit  Areas to explore  Conclusion
  • 4. About Us  Emertxe is India’s one of the top IT finishing schools & self learning kits provider. Our primary focus is on Embedded with diversification focus on IT applications.  Our IT finishing school providers training programs for corporate, professionals and students in the following areas: o Embedded Systems (Beginners) o Advanced Linux workshops (Professionals) o IT Applications (Java, Android, Oracle)  Our product division works on IoT based solutions with major focus in Embedded aspect by focusing on the following areas: o Hardware design o Product engineering, integration and solutions o Linux porting and tuning o Embedded application development
  • 5. Our vision Two fold “Vision” Education Contribute to “industry-academia” gap Solutions Build solutions to solve “common-problems” “Make life easier”
  • 7. Motivation Diverse Hardware (Customisations, Multiple-vendor, Optimisation) Lack of resources (Formal courses, documentation, support) Setup and installation (SDKs, tool-chain, configuration) Too geeky! (Fear of getting bullied)
  • 8. Practical challenges Hard to learn (Professionals, Enthusiasts, Students) No special devices (Most of them are fits-for-all) Enriched learning (Character, Block, multi-peripherals) Higher entry barrier (Giving up!)
  • 9. Some questions!  Which driver should I work on to begin with?  Can I see some sample drivers?  I do not have specific hardware, where I can find one?  Can I write char, block drivers. What about interrupts?  I would like to implement USB, SCSI, Serial and Audio drivers. How to? Well a lot of can's, but we have something for you!
  • 11. Overview of LDD kit • Dedicated board • Rich peripheral support • On-board DFU interface for upgrading • Can act as a normal MC device as well Hardware • Currently supports Ubuntu distributions • Completely based on Open source • Firmware stack based on LUFA • AVR-GCC compiler SDK • Well documented setup & quick start guide • Sample device driver code • Test harness for validation and debugging Get “hands-dirty”
  • 13. Hardware specifications  Atmel AT90USB162  2×16 Character LCD  RS232  8 LEDs  4 User Inputs  4 Seven Segment Displays
  • 14. Hardware specifications  USB Powered  Audio Output Interface  SD (MMC) Card Support (Using SPI Interface)  8 GPIO Header  DFU Programmable (on-board)
  • 15. Block diagram USB Host Controller Host Controller Driver USB Core Device Driver-2 System Call Interface User Application Kernel LDD kit Users Device Driver-1 Device Driver-3
  • 16. What you can create? RS232 interface (i/p and o/p) Interrupt handling (switches) I/O control Timers (LED control) Synchronization mechanisms SD/MMC Card driver SCSI Implementation USB Protocol SCSI over USB Simple drivers for LED, SSD, LCD USB to Serial converter Mass storage driver USB Audio Input drivers Character Block USB
  • 17. Summary  Learning Linux device driver development is challenging  Our LDD kit tries to solve challenges by:  Having a dedicated hardware with very rich in peripherals  Larger problem of software is resolved by well documented & supported SDK  Having sample source code & self-learning stuff  By having whole ecosystem built with open source  With this we believe:  To make the learning easier  Contribute and make a difference to students, professionals and enthusiasts  Provide practical real-time learning experience
  • 18. Stay connected Mubeen Jukaku: mubeenj@emertxe.com Emertxe Information Technologies, No-1, 9th Cross, 5th Main, Jayamahal Extension, Bangalore, Karnataka 560046 T: +91 80 6562 9666 https://www.facebook.com/Emertxe https://twitter.com/EmertxeTweet https://www.slideshare.net/EmertxeSlides