Peek into linux_device_driver_kit
-
Upload
emertxe-information-technologies-pvt-ltd -
Category
Technology
-
view
292 -
download
1
description
Transcript of Peek into linux_device_driver_kit
A peek into Linux Device Driver Kit
OSI Days – 2014
November 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 visionTw
o f
old
“Vis
ion”
EducationContribute to “industry-
academia” gap
SolutionsBuild solutions to solve “common-problems”
“M
ake lif
e e
asi
er”
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
Chara
cte
r
Blo
ck
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: [email protected]
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